- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
visualc可视化程序设计黄维通第三版部分知识点
visual c++可视化程序设计_黄维通_第三版部分知识点
第三章 Windows应用程序
windows编程中的对象是指windows的规范部件;编写windows程序,大部分工作是创建对象及为对象赋值。
对象特征:具有规范的形态和操作模式
windows编程方法:传统编写法--API;交互式方法--MFC
采用交互式方法(MFC)时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程序。使用MFC可以利用系统自动生成的代码,大大减轻程序员的工作量,但对于初学者来说程序的可读性不强,难以理解
而采用API编程则程序的编写都要靠程序员通过调用API函数完成,工作量较大,但API更加灵活,不必拘泥于固定的框架,同时学习API编程可以帮助更好地了解windows程序的运行机制。
API:应用程序编程接口,为应用程序提供各种系统函数以及数据结构定义。
API函数按功能分类:1)窗口管理函数;2)图形设备(GDI)函数:实现与设备无关的图形操作功能;3)系统服务函数
1.窗口:windows应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位。
2.事件驱动:windows程序设计是针对事件或消息进行的。消息是描述事件发生的信息(如按下鼠标或键盘)。windows程序的执行顺序取决于事件发生的顺序,但是消息得到产生往往并不要求有次序之分。
3.句柄:句柄是一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例。应用程序通过句柄访问相应的对象信息。
HWND 窗口句柄 HDC 设备环境句柄
HBITMAP 位图句柄 HCURSOR 光标句柄
HICON 图标句柄 HFONT 字体句柄
HMENU 菜单句柄 HPEN 画笔句柄
HFILE 文件句柄 HBRUSH 画刷句柄
HINSTANCE 当前实例句柄
4.消息:Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换
typedef struct tagMSG
{
HWND hwnd;//窗口句柄;为null则可检索所有驻留在消息队列中的消息
UINT message;//消息值,由Windows.h头文件中的宏定义来标识
WPARAM wParam;//字参数,包含有关消息的附加信息,不同消息其值有所不同
LPARAM lParam;//长字参数
DWORD time;//指定消息送至队列的时间
POINT pt;//指定消息发送时屏幕光标的位置,其数据类型POINT也是一个结构体
}MSG;
Windows应用程序常用消息
1.WM_LBUTTONDOWN:产生单击鼠标左键的消息
1Param:低字节包含当前光标的X坐标值,高字节包含当前光标的Y坐标值
wParam包含一整数值以标识鼠标键的按下状态:MK_LBUTTON按下鼠标左键,MK_MBUTTON按下鼠标中键,MK_RBUTTON按下鼠标右键
2.WM_KEYDOWN:按下一个非系统键时产生的消息
系统键是指实现系统操作的组合键,例如Alt与某个功能键的组合以实现系统菜单操作等。
wParam:按下键的虚拟键码,用以标识按下或释放的键。如F1的虚拟键码在windows.h文件中定义为VK_F1
1Param:记录了按键的重复次数、扫描码、转移代码、先前键的状态等信息。
相似的消息还有WM_KEYUP, 在放开非系统键时产生
3.WM_ CHAR:按下一个非系统键时产生的消息
wParam为按键的ASCII码
1Param与WM_KEYDOWN的相同
4.WM_CREATE:由CreateWindow函数发出的消息
wParam:未用
lParam:包含一个指向CREATESTRUCT数据结构的指针
5.WM_CLOSE:关闭窗口时产生的消息
wParam和lParam均未用。
6.WM_DESTROY:由DestroyWiodow函数发出的消息
wParam和lParam均未用。
7.WM_QUIT:由PostQuitMessage函数发出的消息,是退出应用程序时发出的消息
wParam:含退出代码,标识程序退出运行时的有关信息
lParam:未用
8.WM_PAINT
用户区移动或显示,用户窗口改变大小,程序通过滚动条滚动窗口,下拉式菜单关闭并需要恢复被覆盖的部分,Windows清除对话框等对象,并需要恢复被覆盖的部分均产生WM_PAINT消息
windows程序的事件驱动设计:启动-消息处理-结束
一个完整的Windows应用程序通常由五种类型的文件组成:
1
文档评论(0)