【转】VC 自定义消息 postmessage用法
[复制链接]
VC 自定义消息 postmessage用法 1. 在 resource.h文件添加如下代码 定一个自己的消息 #define WM_MY_MESSAGE WM_USER + 100 // 1.自定义消息的值 2.在...view.h的文件添加如下: //{{AFX_MSG(CPostmessageView) afx_msg void Ontydspostmessage(); afx_msg void OnMyMessage(); // 2.自定义消息响应函数定义
//}}AFX_MSG DECLARE_MESSAGE_MAP() 3.在...view.cpp文件添加如下代码 BEGIN_MESSAGE_MAP(CPostmessageView, CView) //{{AFX_MSG_MAP(CPostmessageView) ON_COMMAND(ID_tyds_postmessage, Ontydspostmessage) ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) // 3.消息映射,即将消息响应函数与相应的消息关联起来 //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() void CPostmessageView::Ontydspostmessage() { MessageBox("begin post message!"); //PostMessage(WM_MY_MESSAGE); //这里 PostMessage SendMessage 两则区别是 SendMessage(WM_MY_MESSAGE); //PostMessage只负责将消息投到消息队列中,不确定何时及是否处理,然后返回调用PostMessage处继续执行 //SendMessage要等到受到消息处理的返回码(DWord类型)后才返回调用PostMessage处继续执行 } 消息相应函数 void CPostmessageView::OnMyMessage() // 4.自定义消息响应函数的实现 { MessageBox("post msg finished!"); // return 0; }
|