MFC消息机制初级心得
来源:互联网 发布:log4j配置sql语句 编辑:程序博客网 时间:2024/06/05 19:47
在Windows编程中,与以往的面向过程的DOS程序中最大的不同是,Window采用的是消息驱动机制,即程序中的事件都是由消息来驱动的。
消息机制的实现如:
在本例中我们调用线程完成http发送任务,等待线程任务结束,发送消息给主线程,等待对话框响应显示任务完成信息字样。
1,首先在global.h文件中定义宏 WM_UPDATE_MSG 用来表示数据更新
//File global.h
#define WM_UPDATE_MSGWM_USER+5
2,在对话框类头文件中添加用来消息响应成员函数
LRESULT OnUpdateState(WPARAM wParam, LPARAM lParam);
并在cpp文件中实现消息响应函数
LRESULT CAlterParamDlg::OnUpdateState(WPARAM wParam, LPARAM lParam)
{
SetState((int)wParam);
return 0;
}
3,在对话框类cpp文件中添加消息映射如红色字体,表示对于消息WM_UPDATE_MSG用OnUpdateState()函数响应
//FILE dialog.cpp
BEGIN_MESSAGE_MAP(CAlterParamDlg, CDialog) //消息--动作 映射表
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, OnBnClickedAlter)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
ON_MESSAGE(WM_UPDATE_MSG, OnUpdateState) //消息绑定 前者发生调用后者响应
ON_WM_DESTROY()
END_MESSAGE_MAP()
4,在线程执行体结束位置调用消息发送函数发送消息
AfxGetApp()->GetMainWnd()->GetSafeHwnd()用于获取主窗口句柄
::SendMessage(AfxGetApp()->GetMainWnd()->GetSafeHwnd(), WM_UPDATE_MSG, (WPARAM)2, NULL);
翻译为:向句柄为AfxGetApp()->GetMainWnd()->GetSafeHwnd()的窗口发送WM_UPDATE_MSG消息,参数为WPARAM)2, NULL
- MFC消息机制初级心得
- MFC消息机制---消息映射
- MFC消息机制
- MFC消息映射机制
- MFC消息响应机制
- MFC消息响应机制
- MFC消息响应机制
- MFC消息映射机制
- MFC中消息机制
- MFC消息响应机制
- MFC的消息机制
- MFC消息映射机制
- MFC的消息机制
- C++ MFC 消息机制
- MFC 的消息机制
- MFC消息映射机制
- MFC消息机制
- MFC消息映射机制
- 页面表单提交的原理
- java中的随机数Random
- SQL Server 2005无法远程连接的解决方法
- opengl 指定着色模型
- varnish 400 503错误的原因及解决方法 我们在生产环境中尝试使用varnish替代squid的主要原因: 1. squid不支持多核cpu, 生产环境中大多使用Dell R61
- MFC消息机制初级心得
- Apache组件commons的MultiHashMap的一对多集合用法
- MFC调用DOS窗口显示信息
- boost库在工作(22)任务之二
- JavaScript继承详解
- android3 WebView有声音无画面问题
- 被忽略却很有用的html标签
- BusyBox制作嵌入式Linux Cramfs根文件系统详解
- 百度-20120926-面试