现在的位置: 首页 > 综合 > 正文

VC 自定义消息 postmessage用法

2013年12月01日 ⁄ 综合 ⁄ 共 1119字 ⁄ 字号 评论关闭

 

 

1. 在 resource.h文件添加如下代码 定一个自己的消息
#define WM_MY_MESSAGE      WM_USER + 100       //---------------------by tyds

2.在...view.h的文件添加如下:

//{{AFX_MSG(CPostmessageView)
afx_msg void Ontydspostmessage();

afx_msg /*LRESULT*/ void OnMyMessage(/*WPARAM wParam, LPARAM lParam*/); //----- by tyds

//}}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)      //添加消息映射---------------------by tyds
//}}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 是发出去就返回 而SendMessage是发出去等到被           //执行了 在返回

}

消息相应函数
/*LPESULT*/void   CPostmessageView::OnMyMessage(/*WPARAM wParam, LPARAM lParam*/) //注意这里             的参数可要可不要 根据自己来定 返回值也一样
{

MessageBox("post msg finished!");
// return 0;
}

抱歉!评论已关闭.