在MFC对话框下自定义消息!!

5 篇文章 0 订阅

自定义消息过程网上很多例子,自己添加一遍总结如下:

1、自定义消息:(刚开始在resource.h中定义,但是在编译的时候,总是WM_MY_MESSAGE没有定义,不解???
在**Dlg.h中
#define WM_MY_MESSAGE WM_USER + 100
2、在类头文件的AFX_MSG块中说明消息处理函数
   在...Dlg.h的文件添加如下:
  //{{AFX_MSG(CPostmessageView)
  afx_msg void Ontydspostmessage();
  afx_msg /*LRESULT*/ void OnMyMessage(/*WPARAM wParam, LPARAM lParam*/); //用户添加 自定义消息函数说明
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
3、自定义消息映射
在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中
在...Dlg.cpp文件添加如下代码
  BEGIN_MESSAGE_MAP(CPostmessageView, CView)
  //{{AFX_MSG_MAP(CPostmessageView)
  ON_COMMAND(ID_tyds_postmessage, Ontydspostmessage)
  ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) //添加消息映射 用户添加
  //}}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()


4、自定义消息的实现
  void CPostmessageDlg::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;
  }


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值