在MFC中如何自定义消息及相应事件(VC6.0及VS2005)
来源:互联网 发布:学java有前景吗 编辑:程序博客网 时间:2024/06/01 09:16
自定义消息的步骤如下:
(1)建立Single Document的MFC Application,工程名为:MyMessage
(2)自定义消息:
第一步:定义消息
在Resource.h中添加如下代码:
//推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。
#define WM_MY_MESSAGE (WM_USER+100)
第二步:声明消息处理函数
选择CMainFrame类中添加消息处理函数
在MainFrm.h文件中,类CMainFrame内(其实就是你想要进行响应的窗体类),声明消息处理函数,代码如下:
protect:
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
PS:返回类型必须是LRESULT,不然是void等等类型。
第三步:实现消息处理函数
在MainFrm.cpp文件中添加如下代码:
LRESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
//TODO: Add your message handle code
return 0;
}
第四步:在CMainFrame类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE()
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)
//ON_REGISTERED_MESSAGE (WM_MY_MESSAGE,OnMyMessage)
END_MESSAGE_MAP()
如果用户需要一个定义整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage定义消息:
在Resource.h中将代码
#define WM_MY_MESSAGE (WM_USER+100)
替换为:
static UINT WM_MY_MESSAGE=RegisterWindowMessage(_T("User"));
并使用ON_REGISTERED_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。
注:如果仍然使用ON_MESSAGE宏指令,compile可以通过,但是无法响应消息。
当需要使用自定义消息时,可以在相应类中的函数中调用函数PostMessage或SendMessage发送消息PoseMessage(WM_MY_MESSAGE,0,0)。
VC6.0开发环境:
区别:
返回类型可以是void类型,这个可以参见孙鑫老师的第十五课讲解
- 在MFC中如何自定义消息及相应事件(VC6.0及VS2005)
- 在MFC中如何自定义消息及相应事件(VC6.0及VS2005)
- 如何在MFC中自定义消息
- MFC在VC6.0 和 VS2008自定义消息
- MFC中自定义消息方法及如何得到消息处理函数的返回值
- VC6.0转VS2005问题及解决办法
- 在CB中响应消息及自定义消息
- VC6.0 和VS2005 自定义消息映射问题
- VC6.0中使用MFC开发ActiveX及简单验证
- 在VS2005中如何使用AfxMessageBox及TextOut(zz)
- 在VS2005中如何使用AfxMessageBox及TextOut
- 如何在VC6中定义热键消息
- 如何在VC6 MFC中使用GDI+
- vc6及vs2005的SolidWorks工程在vs2008编译
- VS2010,VC6.0如何添加自定义消息
- 视频编解码原理及如何在VC6.0中运行JM8.6
- 视频编解码原理及如何在VC6.0中运行JM8.6
- 在C# WinForm程序中创建控件数组及相应的事件处理
- 解决vs2005 ActiveX 添加方法提示的脚本错误-解决办法
- sudo命令执行慢 解决办法
- MFC程序的命令行 编译与连接
- AfxEnableControlContainer() ---转载
- MFC 控件容器
- 在MFC中如何自定义消息及相应事件(VC6.0及VS2005)
- MFC DoDataExchange()
- ActiveX控件注册
- The Mt.exe file is a tool that generates signed files and catalogs
- C与C++中动态数组的生成及内存动态管理
- c++异常处理(转载)
- gdb 带参数调试
- liunx 安装adobe reader阅读器(转载)
- php处理转义字符(转发)