字体
第(3/4)页
关灯
   存书签 书架管理 返回目录

    确定后ClassWizard 就会自动添加该消息处理函数。对于由该选定的类产生的消息,

    MFC 已经定义好了消息处理函数名称,单击“Add Function”按钮将直接添加该消息

    处理函数,不会提示用户输入自定义的函数名。注意,只有单击“MFC ClassWizard”

    的“OK”按钮或者“Edit Code”按钮退出“MFC ClassWizard”对话框后,ClassWizard

    才会真正修改源文件。

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·46·

    图3-2 添加消息处理函数的对话框

    ? Delete Function(删除函数)按钮:单击该按钮删除选定消息的消息处理函数,包括函

    数的声明和定义该消息映shè的宏语句。如果选定的消息没有消息处理函数,则该按钮

    无效。注意,当该函数已经存在于源文件中时,单击该按钮会提示如图3-3 所示的对

    话框,告诉用户ClassWizard 只能删除该函数的声明和定义该消息映shè的宏语句,而

    无法删除该函数的实现代码,用户需要手动删除。

    图3-3 提示用户手动删除消息处理函数的对话框

    ? Edit Code(编辑代码)按钮:单击该按钮退出“MFC ClassWizard”对话框,同时IDE

    的代码编辑窗口直接转到选定消息的处理函数进行编辑。该按钮也使得在“MFC

    ClassWizard”中所做的更改生效。如果选定的消息没有消息处理函数,则该按钮无效。

    ? OK(确定)按钮:单击该按钮使得在“MFC ClassWizard”中的编辑生效,并退出“MFC

    ClassWizard”对话框。

    ? Cancel(取消)按钮:单击该按钮取消所有“MFC ClassWizard”对话框中的设置,并

    退出“MFC ClassWizard”对话框。

    3.1.3 消息处理过程

    在Windows 程序设计中,消息的处理是通过消息循环进行接收与分发的。MFC 运用消

    息映shè机制封装了这一处理过程。下面介绍MFC 中消息的处理过程。

    1.标准Windows 消息和控件通知消息

    标准Windows 消息和控件通知消息的处理过程比较简单。这类消息必须由CWnd 或其派

    生类的对象处理,消息传递到封装对应的窗口或子窗口的类的对象中。也就是说,当关闭程

    序的时候,会产生一个WM_CLOSE 消息并通知主框架类,主框架类调用相应的处理函数进

    行程序关闭前的清理cāo作,如保存文件和数据等。

    2.命令消息

    命令消息与其他两个类型的消息不同,它可以由应用程序其他类的对象(例如应用类对

    象、文档对象和文档模板对象)处理。这就涉及一个消息传递路径的问题,具体来说就是允

    枫叶文学网www.fywxw.com

    第3 章 菜单与加速键

    ·47·

    许一个还是多个对象处理该消息、允许哪些对象处理等。MFC 中采取了简单的方法,只允许

    其中一个对象处理该消息,当沿着消息传递路径找到第一个
上一页 目录 下一页