Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:41:23
visual c++手工添加消息处理函数

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)在代码编辑器中找到下段代码:


BEGIN_MESSAGE_MAP(CMyProjectDlg, CDialog)

……

END_MESSAGE_MAP()



这是消息地图的声明。读者需要在这个消息地图中添加消息响应说明。


BEGIN_MESSAGE_MAP(CMyProjectDlg, CDialog)

……

ON_MESSAGE(DIY_NEWMESSAGE,OnNewMessage)

END_MESSAGE_MAP()



这句代码告诉编译器,当有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对话框内部有效。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759