Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/9 22:41:23 visual c++手工添加消息处理函数
visual c++手工添加消息处理函数消息处理函数是VC++最常用到的函数之一,实际上,消息处理函数是通过在消息地图中声明来实现的。请看下边的例子。手工为对话框类MyProject添加消息DIY_NEWMESSAGE(自定义消息)的消息响应函数OnNewMessage。(1)首先,建立一个基于对话框的应用程序MyProject。(2)单击“View”/“ResourceSymbols”,弹出“ResourceSymbols”对话框。(3)在“ResourceSymbols”对话框中单击“New”按钮,为类添加一个新标识“DIY_NEWMESSAGE”,如图1所示。新标识标识对应的值
图1 “New Symbol”对话框(4)关闭“ResourceSymbols”对话框,在Workspace中找到类CMyProjectDlg,双击CMyProjectDlg节点下的任意一个成员函数标识,代码编辑器中显示MyProjectDlg.cpp文件内容。(5)在代码编辑器中找到下段代码:
这是消息地图的声明。读者需要在这个消息地图中添加消息响应说明。
这句代码告诉编译器,当有DIY_NEWMESSAGE消息发生时,执行OnNewMessage成员函数。(6)在Workspace中选中类CMyProjectDlg的标识,单击鼠标右键,在弹出的快捷菜单中选择“Add Member Function”项,打开“Add Member Function”对话框。(7)在“Add Member Function”对话框中的“Function Type”文本框中添入函数的返回值;在“Function Declaration”文本框中添入“OnNewMessage”,单击“OK”按钮,将此函数添加到项目中,如图2所示。函数返回值函数声明静态函数或虚函数
图2 “Add Member Function”对话框(8)这样,一个消息响应函数就做成了,当系统捕捉到“DIY_NEWMESSAGE”消息时,会自动执行OnNewMessage成员函数。注意:这个消息响应函数只在CMyProjectDlg对话框内部有效。
赞