第 2 章 Windows 窗口命令
Windows 应用程序都是基于消息驱动的,应用程序通
过消息与用户进行交互。消息分为标准 Windows 消息、控
件通知消息和命令消息三大类,程序员需要为用户所关心的
消息建立消息映射并编写具有特定功能的消息处理函数。
2.1 消息与命令
Windows 应用程序都是消息驱动的,消息处理是 Window
s 应用程序的核心。消息是操作系统通知应用程序某个事件
已经发生的一种方式,例如当用户敲击键盘、点击菜单、
移动鼠标或改变窗口大小时,都会向适当的窗口发送消息
。同样, MFC 应用程序也要处理 Windows 消息,但是由于
MFC 类库中已经封装了消息和对消息的响应事件,这就使
在用 Visual C++ 开发 Windows 应用程序时,对消息的处理
更加简单和易于维护。
应用程序在初始化完成后,将调用 CWinApp 的成员函数
Run 来处理消息循环,消息循环不断检索由各种事件产生
的消息,并将消息分发给适当的窗口。窗口接收到消息后
,将调用专门的处理函数来处理各种消息。消息处理函数
通常是某个类的成员函数,编写消息处理函数是编写 MFC
应用程序的主要任务。
2.1.1 响应消息的实例
2.1.2 消息的种类
1 .标准 Windows 消息
标准 Windows 消息主要分为三类。
( 1 )键盘消息
( 2 )鼠标消息
( 3 )窗口消息
2 .控件消息
3 .命令消息
( 1 )用户界面对象
图 2.4 说明了用户界面对象的
处理过程。
( 2 )命令 ID
( 3 )命令目标
( 4 )命令和控件消息的处理函
数
选择用户界面对象,
如 Clear All 菜单项
产生命令消息
ID_EDIT_CLEAR_ALL
命令—目标消息映射
ON_COMMAND
调用消息处理函数
OnEditClearAll ()
图 2.4 用户界面对象处理过
程