第一步:在头文件中类定义代码内手工添加消息处理函数
首先需要知道,自定义消息处理函数的声明必须为返回值类型为LRESULT,形参数有两个:WPARAM wParam,LPARAM lParam,且必须加上afx_msg前缀。
如下:
afx_msg LRESULT OnCANMsgIncoming(WPARAM wParam,LPARAM lParam);//自定义消息
第二步:在cpp文件中实现此函数
如下:
LRESULT CRemoteDiagPage::OnCANMsgIncoming(WPARAM wParam,LPARAM lParam)
{
return 0;
}
第三步:宏定义的一个消息类型
在头文件中(类定义代码之外)现实主义一个宏,如下:
#define WM_CANMSG (WM_USER +101)
第四步:关联消息类型与消息处理函数
在cpp中消息映射内,如下:
BEGIN_MESSAGE_MAP(CRemoteDiagPage, CDialogEx)
//...
ON_MESSAGE(WM_CANMSG,OnCANMsgIncoming)
END_MESSAGE_MAP()
第五步:发送消息
异步发送:
dlg->m_remote_diag_page.PostMessage(WM_CANMSG,(WPARAM)&frameinfo,0);
同步发送:
dlg->m_remote_diag_page.SendMessage(WM_CANMSG,(WPARAM)&frameinfo,0);
有送异步发送与同步发送的具体区别请参考:如何向窗口发送消息
完!
分享到:
相关推荐
一个对话框自定义消息,用来接收另一个对话框的消息。在vs2008下编译执行通过.
VC打开文件对话框加入自定义的预览,VS2010可用VS2010可用VS2010可用VS2010可用
visual c++ vc自定义 windows复制文件 对话框(自定义对话框上的图标,文字).zip
VC 6.0 消息处理和自定义消息对话框用法,通过重载函数OnCmdMsg从而使不能够处理主框架命令的非模式对话框,具备了响应主框架命令的功能。二是说明自定义消息的用法。重载OnCmdMsg后,改变的窗口标题,自定义消息...
在VC中为对话框添加菜单,初学者可以看看,高手不用浪费时间了,很简单的东西,记下来放到这里做笔记。 一个Word文档,本来想贴在空间里,结果图片不能直接复制,不想再挨个截图,放在这里。
vc给对话框添加工具栏.zip
VC MFC在对话框中添加工具栏.rar
vc.net添加菜单与对话框操作。 1.给对话框添加菜单 2.点击菜单弹出对话框 3.点击按钮弹出提示窗口 4.关闭对话框提示是否退出
VC Office2007界面对话框实现http://blog.csdn.net/akof1314/archive/2010/07/05/5714050.aspx 包含CxSkinButton类
visual c++ vc自定义半透明对话框 显示半透明位图对话框和位图按钮.zip
正常情况下,在对话框工程中无法响应WM_KEYDOWN消息函数,即添加此消息应射之后,程序永远不会进入到这个消息的处理函数中,所以也就无法捕获键盘的按键消息。 上网上搜索了一下,找到了篇: ...这应该算是一种方法。...
VC对话框添加状态栏 VC
需要处理的问题有:CFrameWnd的模态显示问题、Ribbon元素在对话框上的显示问题。 1.对于CFrameWnd的模态显示,参考使用了《Modal MFC frame window》 2.对于Ribbon元素的显示问题,需要派生改写方法
VC6.0窗口应用程序,在对话框(CDialog)中添加工具条和状态条,并用到了CTabCtrl控件
用VC编写的包含对话框的DLL,以及VC VB C#调用实例
关于vc中如何创建向导对话框的例子 创建 多页面切换程序 创建 向导对话框
VC 可在对话框的任意位置拖动对话框的实例
visual c++给对话框添加最小化按钮和提示条
本插件是一个VC开发Win32SDK对话框程序用的向导插件,将DlgBaseAppWizard.pdb和DlgBaseAppWizard.awx拷贝到VC6的安装目录的Common\MSDev98\Template目录下即可,一般VC6都安装到了C盘,所以一般只要拷贝到C:\Program...
VC中添加响应自定义的消息的代码步骤,简单四步搞定