MFC自定义消息使用

Posted xavierjian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC自定义消息使用相关的知识,希望对你有一定的参考价值。

消息对于windows程序来说,是一个非常重要的内容,也有非常多的消息,如果WM_CREATE、WM_LBUTTONDOWN等等。

实际开发时,除了系统定义的这些消息之外,也会使用到自定义消息,因此,记一小章使用方法。

它的声明如下 :

typedef struct tagMSG {
  HWND hwnd;
  UINT message;
  WPARAM wParam;
  LPARAM lParam;
  DWORD time;
  POINT pt;
#ifdef _MAC
  DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

 

 

1、在公共头文件中添加自定义消息 

const UINT WM_TESTMESSAGE = WM_USER + 0x100;

2、在类的头文件中,添加函数声明,和普通函数类似,只是消息函数有固定的格式

afx_msg LRESULT OnTestMessage(WPARAM wParam, LPARAM lParam);

3、在类的实现文件中,添加消息映射,以告知程序当接收到WM_TESTMESSAGE消息时,应该交由哪个函数处理

BEGIN_MESSAGE_MAP(CReceiveDlg, CDialogEx)
  ON_MESSAGE(WM_TESTMESSAGE, OnTestMessage)
END_MESSAGE_MAP()

4、编写消息对应的函数具体实现

LRESULT CReceiveDlg::OnTestMessage(WPARAM wParam, LPARAM lParam)
{

}

5、使用PostMessage或者SendMessage发送自定义消息

::PostMessage(m_pRecvDlg->GetSafeHwnd(),WM_TESTMESSAGE, (WPARAM)pInfo, 0);

 

 如下图,发送消息 窗口输入一个芯片编号,然后通过PostMessage传递给接收窗口显示。

技术分享图片

 

测试项目链接链接: https://pan.baidu.com/s/1l2WoEXC2amxuf6v9YoaKTg 提取码: vy3u 















以上是关于MFC自定义消息使用的主要内容,如果未能解决你的问题,请参考以下文章

MFC自定义消息使用

MFC中用户自定义类响应自定义消息

MFC自定义消息的方法?

MFC中关于自定义消息

MFC自定义消息的实现方法

MFC 自定义消息函数