第7章 VC++实践.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 VC++实践 7.1 MFC编程流程 在普通的C/C++程序中,可以看到程序从main函数开始到结束的所有代码,但在Visual C++中MFC封装了一部分类,同时也隐藏了一部分代码,因此我们看不到源程序的所有代码,例如从项目的所有源文件中找不到main函数。 基本对话框的MFC程序流程图如图7-1所示。 一个MFC程序运行的一般过程如下: (1) 生成CWinApp的一个实例(调用CWinApp的构造函数),初始化全局对象; (2) Win32入口程序函数WinMain调用函数AfxWinMain; (3) AfxWinMain调用函数CwinApp的成员函数InitInstance; (4) AfxWinMain调用函数CwinApp的成员函数Run; (5) AfxWinMain函数返回到WinMain,WimMain结束,程序结束。 7.2 消息处理 Windows操作系统是一个基于消息的操作系统,其程序总要同消息打交道,这正是Windows程序同DOS程序不同的地方。实际上,Windows系统通过Windows消息告诉所有应用程序发生了什么事件,例如用户点击了鼠标、用户点击了键盘的哪个键等,每个应用程序都有消息处理或一组消息响应函数,用于对消息进行响应。 Windows操作系统中定义了900余个Windows消息,系统将用户的输入传给应用程序,然后又为每个输入产生消息。此外,系统还为应用程序的变化产生消息,如窗口的尺寸发生了变化等。应用程序自已也可能产生消息,用于对应用程序内部发生的特殊事件进行处理或其它应用程序之间的通信。 系统向应用程序发送消息时,将向应用程序发送4个参数: (1) 一个窗口的句柄:窗口句柄用于标识窗口的一个常数,Windows的每个窗口都有一个窗口句柄。消息参数中的窗口句柄标识的是接受消息的窗口。 (2) 一个消息标识:标识了产生的消息。消息标识的例子有WM_CREATE,其中,WM_代表Windows Message,是Windows窗口产生的消息,而WM_CREATE代表窗口正在被创建,WM_PAINT则代表窗口的客户区需要被重画。 (3) 两个32位的参数:消息参数定义了Windows应用程序处理消息所需的数据或数据所在的位置,这两个参数的含义与具体的消息有关。消息参数可以包含一个整数、一组标志或一个结构对象的指针。消息参数也可以是NULL,表示消息没有参数。 1. Windows消息分类 Windows消息大体上可以分为两大类:一类是系统定义的消息,另一类是用户自定义的消息。其中Windows系统定义的消息可以分为以下3种: (1) Windows消息:这类消息主要是以WM_作前缀的消息(WM_COMMAND除外,WM_COMMAND消息专门被用于处理菜单和控件发出的消息),且必须由CWnd类或CWnd类的派生类进行处理。消息响应函数也必须被定义在发送消息CWnd类或 CWnd派生类中。可见,这类消息属于面向Windows窗口的消息。 (2) 控件通知消息:这类消息主要由控件或其它子窗口发出,并对各控件或子窗口的父窗口进行处理。这类消息属于WM_COMMAND消息,只不过在WM_COMMAND消息的两个消息参数中包含了每个控件的句柄、标识(ID)和通知消息等信息。 (3) Windows命令消息:这类消息是指由菜单、工具条和加速键等发出的WM_COMMAND通知消息。 2. 鼠标消息处理 移动鼠标或点击鼠标按键,Windows便产生一个或多个消息并将其发送给位于鼠标光标下的窗口。编程时常用的鼠标消息有: WM_LBUTTONDOWN //按下鼠标左键 WM_LBUTTONUP //释放鼠标左键 WM_LBUTTONDBLCLK //双击鼠标左键 WM_RBUTTONDOWM //按下鼠标右键 WM_RBUTTONUP //释放鼠标右键 WM_RBUTTONDBLCLK //双击鼠标右键 WM_MOUSEMOVE //移动鼠标 对应的Wnd类的消息处

文档评论(0)

yyh892289 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档