
afx_msg为消息标志,它向系统声明:有消息映射到函数实现体;而在map宏定义中,就有具体消息和此函数的映射定义(可以是自定义,也可以是系统自动完成的)
在afxwinh中afx_msg的解释:
#ifndef afx_msg
#define afx_msg // intentional placeholder
#endif
没什么意思只是定义了这个符号而已 这个对编译器来说,相当于什么都没有,对于人来说,我们可以看到这样的符号 对于类向导来说这个符号才是有意义的它是一个消息处理函数的前缀 类向导生成的消息函数,分发函数,事件响应函数都以这个为前缀 如果去掉了,向导将不能识别
在MFC中,可以通过以下步骤建立消息响应函数与控件对应的关系:
打开MFC应用程序的资源视图,双击对应的对话框资源文件(dlg文件)打开对话框编辑器。
在对话框编辑器中,选择要添加消息响应函数的控件。例如,选择一个按钮控件,然后右键单击该控件,在d出的上下文菜单中选择“添加事件处理程序”。
在d出的“添加事件处理程序”对话框中,选择要添加的消息类型。例如,选择“BN_CLICKED”表示添加“单击”消息的响应函数。
在“添加事件处理程序”对话框中,选择要添加响应函数的类。这里需要选择的是包含响应函数的类,通常是该对话框所在的类。
在“添加事件处理程序”对话框中,输入要添加的响应函数的名称。这个名称需要以“On”开头,后面跟上消息类型和控件的ID,例如“OnBnClickedButton1”。
点击“添加”按钮,将响应函数添加到代码中。然后,在响应函数中编写具体的处理逻辑。
完成上述步骤后,消息响应函数就与控件对应起来了。当用户 *** 作控件时,MFC会自动调用相应的消息响应函数来处理该消息。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)