原创 【转】VC 自定义消息 postmessage用法

2011-9-14 15:44 2749 5 5 分类: 软件与OS

VC 自定义消息 postmessage用法
  1. 在 resource.h文件添加如下代码 定一个自己的消息
  #define WM_MY_MESSAGE WM_USER + 100   // 1.自定义消息的值


  2.在...view.h的文件添加如下:
  //{{AFX_MSG(CPostmessageView)
  afx_msg void Ontydspostmessage();
  afx_msg void OnMyMessage();    // 2.自定义消息响应函数定义

  //}}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) // 3.消息映射,即将消息响应函数与相应的消息关联起来

  //}}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只负责将消息投到消息队列中,不确定何时及是否处理,然后返回调用PostMessage处继续执行

  //SendMessage要等到受到消息处理的返回码(DWord类型)后才返回调用PostMessage处继续执行

  }
  消息相应函数
  void CPostmessageView::OnMyMessage() // 4.自定义消息响应函数的实现

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

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /3 下一条