MFC如何为动态创建的控件添加消息响应函数?

MFC如何为动态创建的控件添加消息响应函数?,第1张

动态创建的控件,,可以在对话框的PreTranslateMessage里面进行响应,并执行代码或者执行自定义的响应函数

在PreTranslateMessage中:

CWnd* pBtn = GetDlgItem(1234)

if(pMsg->hwnd==pBtn.m_hWnd&&pMsg->message==WM_LBUTTONDOWN)

DoYourFunctions()

在MFC中,可以通过以下步骤建立消息响应函数与控件对应的关系:

打开MFC应用程序的资源视图,双击对应的对话框资源文件(.dlg文件)打开对话框编辑器。

在对话框编辑器中,选择要添加消息响应函数的控件。例如,选择一个按钮控件,然后右键单击该控件,在d出的上下文菜单中选择“添加事件处理程序”。

在d出的“添加事件处理程序”对话框中,选择要添加的消息类型。例如,选择“BN_CLICKED”表示添加“单击”消息的响应函数。

在“添加事件处理程序”对话框中,选择要添加响应函数的类。这里需要选择的是包含响应函数的类,通常是该对话框所在的类。

在“添加事件处理程序”对话框中,输入要添加的响应函数的名称。这个名称需要以“On”开头,后面跟上消息类型和控件的ID,例如“OnBnClickedButton1”。

点击“添加”按钮,将响应函数添加到代码中。然后,在响应函数中编写具体的处理逻辑。

完成上述步骤后,消息响应函数就与控件对应起来了。当用户 *** 作控件时,MFC会自动调用相应的消息响应函数来处理该消息。

1、DECLARE_MESSAGE_MAP()前添加afx_msg void OnLButtonDown(UINT nFlags, CPoint point)

2、BEGIN_MESSAGE_MAP...END_MESSAGE_MAP中加入

ON_WM_LBUTTONDOWN()

3、在OnLButtonDown函数中添加你的代码


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11602310.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存