MFC和win32自定义消息
2015-10-09 11:27
190 查看
MFC自定义消息
1. 在头文件stdafx.h中增加一个自定义消息宏
#define WM_USER_THREADEND WM_USER + 1
2. 在于增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为public
afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);
3. 在窗口或对话框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行
ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend)
4. 在窗口或对话框的cpp文件中增加回调函数的实现,如:
LRESULT ThreadDialog::OnUserThreadend(WPARAM wParam, LPARAM lParam)
{
TRACE("WM_USER_THREADEND message /n");
return 0;
}
5. 自定义消息的触发
::PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);
其中GetSafeHwnd()得到了一个当前窗口的句柄,此消息将发给当前窗口,如果想发送消息给其它 窗口只需改变这个句柄,前提是目的窗口也实现了此消息的处理函数。
win32自定义消息
先用宏把消息定义好!
#define WM_LALA WM_USER+10
在消息循环中写一个
case WM_LALA:
MessageBox(....);
break;
就可以用这个消息处理
PostMessage(..)或SendMessage(..)你所发的消息了;
1. 在头文件stdafx.h中增加一个自定义消息宏
#define WM_USER_THREADEND WM_USER + 1
2. 在于增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为public
afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);
3. 在窗口或对话框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行
ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend)
4. 在窗口或对话框的cpp文件中增加回调函数的实现,如:
LRESULT ThreadDialog::OnUserThreadend(WPARAM wParam, LPARAM lParam)
{
TRACE("WM_USER_THREADEND message /n");
return 0;
}
5. 自定义消息的触发
::PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);
其中GetSafeHwnd()得到了一个当前窗口的句柄,此消息将发给当前窗口,如果想发送消息给其它 窗口只需改变这个句柄,前提是目的窗口也实现了此消息的处理函数。
win32自定义消息
先用宏把消息定义好!
#define WM_LALA WM_USER+10
在消息循环中写一个
case WM_LALA:
MessageBox(....);
break;
就可以用这个消息处理
PostMessage(..)或SendMessage(..)你所发的消息了;
相关文章推荐
- xcode升级 插件VVDocumenter-Xcode.xcplugin失效
- linux java后台运行
- java例子5:平面圆,继承圆
- centos 7.0下openstack-juno版本实例热迁移(通过nfs,共享池)
- .pch文件的创建和旧代码使用
- 小议:End User如何添加自定义的Term?
- opus开源库使用
- Google Protocol Buffer安装及在python中的使用
- fmdb 报错归总
- linux下的C语言开发(gdb调试)
- 框架
- vmware下面的虚拟机快照的研究
- ios9:Search API
- #openstack-meeting: swift(2015-10-07)
- MYSQL的慢查询分析
- char与tchar的互转
- 进程——共享内存
- 航班经停地查询api 航班经停地及起降时间查询
- POJ 2376 解题报告
- android动画基础初探