关于VS中创建windows桌面应用程序自动生成的代码

hlz2516 2017-12-10 04:51:41
我最近开始入手windows程序设计,用VS新建了一个windows桌面应用程序后cpp里自动生成了一些代码,里面有段代码是:
LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadStringW(hInstance, IDC_LAMAN1, szWindowClass, MAX_LOADSTRING);
VS里的注释是初始化全局字符串,我不明白,这段代码到底是在干什么,网上查说是从资源里加载字符串资源到CString对象,就拿第一段代码来说,资源应该就是IDS_APP_TITLE,那字符串资源是什么?加载到CString对象里的意义是什么?
很奇怪,《windows程序设计第五版》里没有这段代码,所以想不通。。
...全文
996 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-12-11
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义或查找所有引用。
赵4老师 2017-12-11
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
ooolinux 2017-12-10
  • 打赏
  • 举报
回复 1
SDK纯API方式编写GUI程序已经过时了,效率太低,了解一下原理就可以了,主要是消息机制。 图形用户界面(GUI)编程可以学习C++ Builder,架构先进(和C#一样拖控件),入门比较容易。 C++ Builder是什么?   C++ Builder是基于可视组件技术和C++语言的快速应用程序开发工具。C++ Builder的前身是Borland C++,而Borland C++最早是Turbo C,在DOS界面编程的年代,对于每一个工科学生,几乎是无人不知。学习C++ Builder最常用的版本是C++ Builder 6.0,C++ Builder 2010等,最新的版本还支持iOS、安卓平台软件的开发。   Windows是图形用户界面(Graphical User Interface)操作系统,标准的Windows应用程序也是图形用户界面的。传统上,SDK方式开发Windows应用程序的GUI界面是一个很繁琐的工作,界面相关的代码量甚至占到项目总代码量的一半以上,而且业务逻辑代码和界面相关的代码是混杂在一起的,难以扩展、重用和维护。   C++ Builder是真正的可视化的开发工具。C++ Builder可以用鼠标拖拉控件加上设置属性轻松的“设计”出一个程序的图形用户界面,利用可视的组件/控件像“搭积木”一样,以“所见即所得”的方式搭建应用程序的界面,这也是C++ Builder这个名字中Builder的概念。这样,只需要用C++语言编写业务逻辑代码,类似于DOS下文本界面编程,只要专注于实现业务逻辑功能就可以了,代码非常简洁。数据的输入和表现,都在图形用户界面,非常直观、易用。这就是RAD开发(Rapid Application Development,快速应用程序开发)。   VCL是Visual Component Library的缩写,即可视组件库,它是Delphi和C++ Builder编程语言的基本类库。VCL以组件化、可视化为设计方向,是新一代的应用程序框架(Framework)。它拥有封装纯粹、可扩展性强、操作方便等特点。如果是一个非常繁杂的Win32 API,在经过VCL封装后,使用也是非常简便的。VCL对事件的支持及封装也是非常完整的,通过事件对象的声明,可以将任意的外部事件源绑定到VCL控件。   在VCL类库中,窗体和每一种控件都是一个类,它们和基类(比如TObject、TControl、TWinControl类等)之间通过继承关系,共同组成了VCL类库,基类有一些共同的属性、方法和事件,控件类比如TButton(按钮类)继承了它的基类的属性、方法和事件,并增加了它自己的一些属性和方法。VCL中还有一些不可视的组件(组件(Component)概念上包括可视的控件(Control)和不可视的组件),比如TTimer(定时器)。VCL类库支持了C++ Builder的RAD开发。   C++ Builder的VCL类库和Visual C++的MFC类库是同一个级别的概念,VCL比MFC出现较晚,在技术架构上领先了一代。它的PME架构(Property属性、Method方法、Event事件)也是VCL类库和RAD开发的基础。 书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网) 《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。
hlz2516 2017-12-10
  • 打赏
  • 举报
回复
你们这么一说我瞬间懂一些了,不过第二段的 IDC_LAMAN1这个是什么资源,我在字符串表里改了相应的字符但好像没变化。。
paschen 2017-12-10
  • 打赏
  • 举报
回复
有些字符串是存储于EXE(PE)文件的资源的字符串表中的,LoadString会从里面进行加载,如根据对应的ID(实际通常是宏定义的)直接得到字符串
狐狸小十 2017-12-10
  • 打赏
  • 举报
回复
在资源视图里,你能找到String Table类型的资源 用于统一管理文本,方便你查找修改,多语言开发,宽窄字符转换 LoadString就是把资源中的文本读取出来
前言. 第1章 Windows窗体技术 案例1.1 多文档MDI应用程序 案例1.2 QQ窗体 案例1.3 卡通窗体, 案例1.4 带有分隔栏并更换主界面背景窗体 案例1.5 半透明渐显动画和渐变窗体 案例1.6 浮动的窗体 案例1.7 在屏幕央并总在最前窗体 案例1.8 椭圆形窗体 案例1.9 可移动的五边形窗体 案例1.10 文字窗体 案例1.11 动态滑入滑出的闪烁窗体 案例1.12 以树形显示的窗体 案例1.13 图案动画窗体 本章小结 第2章 图形图像处理技术 案例2.1 波形图特效 案例2.2 在图像写入文字 案例2.3 图像缩放与翻转 .案例2.4 图像的涂沫 案例2.5 百叶窗图像效果 案例2.6 图像的纹理和遮罩动画效果 案例2.7 图像的积木和浮雕效果 案例2.8 文字的360°旋转效果 案例2.9 可以随意移动的GIF动画 案例2.10 图像的属性及选择点的RGB颜色值 案例2.11 运行的时钟 本章小结 第3章 多媒体处理技术 案例3.1 MP3播放器 案例3.2 Flash播放器 案例3.3 Gif播放器 案例3.4 图像滚动展示动画效果 案例3.5 电子相册 案例3.6 交通信号灯 案例3.7 随机变换图像屏幕保护程序 案例3.8 MP3音乐屏幕保护程序 本章小结 第4章 数据库处理技术 案例4.1 利用控件连接Access数据库 案例4.2 利用代码连接加密Access数据库 案例4.3 读取并浏览Access数据库的数据 案例4.4 利用控件连接SQL Server数据库 案例4.5 利用ADO.NET访问SQL Server数据库 案例4.6 连接Excel电子表格 案例4.7 利用SQL语句向数据库表插入数据 案例4.8 利用存储过程修改数据库的数据 案例4.9 分页显示数据库表的数据 案例4.10 动态查询数据库表的数据 案例4.11 SQL Server服务的开启和断开 本章小结 第5章 水晶报表和打印处理技术 案例5.1 水晶报表使用SQL Server数据库 案例5.2 利用水晶报表分组统计数据库的数据 案例5.3 图表在水晶报表的应用 案例5.4 控制水晶报表的字段个数、字体颜色及记录显示 案例5.5 水晶报表子报表的应用 案例5.6 利用打印组件实现窗体数据的打印 案例5.7 打印输出图形图像 案例5.8 调用Excel打印表格数据 案例5.9 调用Word打印表格数据 本章小结 第6章 文件及注册表处理技术 案例6.1 文件的动态创建与删除 案例6.2 文件夹的动态创建与删除.. 案例6.3 文件的打开和保存 案例6.4 文件的加密和解密 案例6.5 文件的动态查找 案例6.6 动态复制多个文件 案例6.7 动态获取系统当前目录及程序当前目录 案例6.8 文件属性的查看与修改 案例6.9 桌面图标和驱动器的显示与隐藏 案例6.10 禁示修改IE浏览器的主页 本章小结 第7章 硬件处理技术 案例7.1 计算机的注销、关闭和重新启动 案例7.2 任务栏和“开始”按钮的显示与隐藏 案例7.3 声卡的检测及PC喇叭的控制 案例7.4 动态控制光驱的打开和关闭 案例7.5 鼠标的控制 案例7.6 设置系统默认输入法 案例7.7 锁定计算机 案例7.8 屏幕保护程序的启动 案例7.9 利用串口进行通信 本章小结 第8章 数据结构与算法 案例8.1 单向链表数据结构 案例8.2 堆栈数据结构 案例8.3 队列数据结构 案例8.4 冒泡排序和选择排序 案例8.5 希尔排序和插入排序 案例8.6 搬砖问题算法 案例8.7 爱因斯坦的阶梯问题算法 案例8.8 求最大公因子的欧几里德算法 案例8.9 IP地址的合法性检查算法 案例8.10 由旧身份证自动生成新身证算法 本章小结 第9章 网络开发技术 案例9.1 动态获取本机名和IP地址 案例9.2 动态获取本机网卡地址 案例9.3 动态修改本机IP地址 案例9.4 网络连接和传输信息 案例9.5 网络在线检测 案例9.6 网络在线浏览器 案例9.7 HTTP动态下载 案例9.8 动态查看网页标题信息 案例9.9 电子邮件的发送 本章小结 第10章 Web程序开发技术 案例10.1 利用AdRotator控件随机显示广告图像 案例10.2 利用Calendar控件动态查询系统日期 案例10.3 会员登录系统 案例10.4 利用Application对象实现网站计数器 案例10.5 利用Session对象实现留言板 案例10.6 动态上传图像并显示 案例10.7 利用控件显示数据库表的数据 案例10.8 分页显示数据库表的数据 案例10.9 动态选择、编辑、删除数据库表的数据 本章小结 第11章 应用程序的打包 案例11.1 Windows应用程序的打包 案例11.2 Web应用程序的打包 案例11.3 带有数据库文件的应用程序的打包 案例11.4 带有特定文件的应用程序打包 案例11.5 带有注册表信息的应用程序打包 本章小结 第12章 消费管理系统 12.1 系统总体设计 12.2 系统数据库设计 12.3 实例效果 12.4 消费管理登录系统 12.5 消费管理系统主界面 12.6 消费管理系统的查询功能 12.7 消费信息管理功能 12.8 消费信息报表输出界面 本章小结

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧