初学自定义消息(举例)
来源:互联网 发布:滴滴出行大数据平台 编辑:程序博客网 时间:2024/06/07 06:48
用户自定义消息值:
#define WM_USER 0x0400
windows消息值范围:
消息值范围意义0x0000-0x03FFWindows消息0x0400-0x07FF用户自定义0x0800-0x0BFF
保留0x0C00-0x0FFF
供应用使用的
字符串消息
以下部分内容参考文章来源:http://blog.csdn.net/gukesdo/article/details/6751052
1.在对应类的头文件中自定义消息
如:#define MYMESSAGE WM_USER+1
2.在头文件中定义消息响应函数
注意:这个函数的返回值必须是LRESULT 参数必须是 WPARAM 和LPARAM类型。
这是因为afx_msg void OnMyMessage( WPARAM , LPARAM ); 这样定义的方法在VC6中是可以的,但是在VS2005等以后要求严格了,要定义成这样,如:afx_msg LRESULT DisplayResult(WPARAM wParam,LPARAM lParam);
1、新建MultiThread000基于对话框的应用程序,在对话框里添加二个静态文本框,IDC_TIME,IDC_STATE;按钮IDC_START
2、在MultiThread000Dlg.h里
添加自定义消息:#define WM_TIME WM_USER+1
添加消息响应函数声明:afx_msgLRESULT ShowTime(WPARAM wParam,LPARAM lParam); // 自定义消息响应函数原型
3、在MultiThread000Dlg.cpp
添加消息映射:ON_MESSAGE(WM_SHOWTIME,ShowTime)
添加两个函数定义,
void CMultiThread000Dlg::OnStart()
{
this->PostMessage(WM_SHOWTIME,0,0L);
CString str="调到后方";
::SetDlgItemText(AfxGetApp()->m_pMainWnd->m_hWnd,IDC_STATE,str);
//Sleep(3000);
}
LRESULT CMultiThread000Dlg::ShowTime(WPARAM wParam,LPARAM lParam)
{
CTime ctime;
CString str;
for(int i=0;i<20;i++)
{
ctime=CTime::GetCurrentTime();
str=ctime.Format("%H:%M:%S");
Sleep(1000); //每个1秒显示一个数字
::SetDlgItemText(AfxGetApp()->m_pMainWnd->GetSafeHwnd(),IDC_TIME,str);
}
::SetDlgItemText(AfxGetApp()->m_pMainWnd->GetSafeHwnd(),IDC_TIME,"loop over"); // 显示完成
//Sleep(3000);
return 0l;
}
单击“开始”后,程序运行过程如图:PostMessage把消息放到队列后,马上执行OnStart函数里后面的句子,执行完后(一定要等执行完本函数后)再切换到消息函数里,因为在这个是单线程,CPU一个时刻只能在干一个任务,干完后才能接着别的任务。
可以再OnStart函数里最后面加Sleep(5000),5s 的等待,结果是在OnStart函数等待5s期间,消息都不会响应,5s后开始响应消息。
- 初学自定义消息(举例)
- C#自定义Attribute举例!
- 自定义通信协议举例
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- 自定义消息
- OSSemPost()--发出一个信号量
- 实现qq ipad客户端的对话框平滑移动的效果
- svn commit文件时,提示“由于字符编码错误造成两个文件信息丢失”的处理方法
- WorldWind学习系列二:擒贼先擒王篇2
- 社交口碑推荐平台Tout’d获140万美元的投资
- 初学自定义消息(举例)
- HDU1215_因式分解
- VC下把HBITMAP保存为bmp图片
- C# winform修改文件特定行内容
- XP下Virtualbox 虚拟Linux 共享文件夹设置
- discuz文件作用
- java 和 ssh命令的一点收获心得
- python
- 静态链表例子