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 

转载于:https://www.cnblogs.com/XavierJian/p/10134193.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值