MFC如何添加系统消息处理函数?

MFC如何添加系统消息处理函数?,第1张

建立MFC单文档,定义View类的成员变量CButton m_button。

在***View类中添加OnCreate 或OnInitialUpdate 函数,并在函数中加入CRectrect_button(40,10,200,60)   //控制按钮大小、位置 m_button.Create("hello",WS_CHILD|WS_VISIBLE|WS_BORDER,rect_button,this,IDC_DYNAMICBUTTON)

m_button.ShowWindow(SW_SHOWNORMAL)

这样按钮应该都可以显示出来了。

然后添加消息响应函数。头文件中加入afx_msg void OnBtnDown()

BEGIN_MESSAGE_MAP 和  END_MESSAGE_MAP 之间加入ON_BN_CLICKED(IDC_DYNAMICBUTTON,OnBtnDown) 关联按钮变量;

最后加入定义void ***View::OnBtnDown(){ MessageBox("hello","helloworld",MB_OK)

在头文件中声明一个消息相应函数virtual LRESULT OnMyMessage(WPARAM wParaM,LPARAM lParam)

在.cpp文件中将消息 和具体的消息相应函数联系起来ON_BN_CLICKED(WM_MY_MESSAGE,OnMyMessage

实现具体的消息相应函数:LRESULT CMyView::OnMyMessage(WPARAM wParam,LPARAM lParam)。

最后在simpleAppView.cpp中添加消息响应函数是实现:

至此,具有消息响应功能的视图/文档结构的MFC应用程序就设计完成了,单击“文件--testMessage”效果如下:

总结下消息响应函数添加的过程:

设置事件触发的ID,并在Resource.h中指定具体值(有些版本会自动生成)。

在xxxView.cpp中添加新的消息映射:ON_COMMAND( , )。

在xxxView.h中添加消息响应函数的声明:afx_msg void fun_xxx()

在xxxView.cpp中添加新的消息响应函数的具体实现:void fun_xxx()

具体一点好吗?

1,使用AppWizard,右键点击你要添加消息的控件,选择消息的类型,还有函数名称就可以自动的生成添加了。

2,手动添加,在***.h头文件加入消息的声明afx_msg void OnMpcfg()在***.cpp将你的消息连接控件的句柄ON_COMMAND(ID_MPCFG, &CLeftView::OnMpcfg);然后在后面添加具体函数

void CLeftView::OnMpcfg()//我举的例子是点击d出对话框

{

// TODO: 在此添加命令处理程序代码

CDialogMpCfg DlgMpCfg

DlgMpCfg.DoModal()

}

根据个人情况来修改


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

原文地址: http://outofmemory.cn/bake/11400250.html

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

发表评论

登录后才能评论

评论列表(0条)

保存