MFC 实现自定义消息 示例

WM_USER

  为了防止用户定义的消息ID与系统的消息ID冲突,MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。
  所以自定义消息的时候:
  (一)现在头文件中定义自己消息的ID,如 #define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
  (二)在定义自己的处理函数afx_msg void OnMyFirstMessage();
  (三)在CPP文件中:
  在BEGIN_MESSAGE_MAP 和END_MESSAGE_MAP代码块中添加,建议用户定义消息添加到//}}后面,
  ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)
  (四)最后定义函数。

CODE:

#define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)

SendMessage(hDialg1,WM_MY_FIRST_MESSAGE,0,0);

头文件

afx_msg LRESULT OnMyFirstMessage(WPARAM wParam,LPARAM lPram);


消息映射

ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)


函数实现

LRESULT CDialog1::OnMyFirstMessage(WPARAM wParam,LPARAM lPram)
{
     SetDlgItemTextW(IDC_STATIC_COUNT,L"ming hong test.");
     return 0;
}


例如:主程序MyDlg.cpp
  1.自定义消息:#define WM_TRAY WM_USER+100
  2.函数原形:afx_msg LRESULT OnTrayNotify(WPARAM wParam,LPARAM lParam);
  3.消息映射:ON_MESSAGE(WM_TRAY,OnTrayNotify)
  4.原函数:
  LRESULT CMyDlg::OnTrayNotify(WPARAM wParam,LPARAM lParam)
  {
  return m_tray.OnTrayNotify(wParam,lParam);
  }














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值