• 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 

  • 相关阅读:
    57. Insert Interval
    56. Merge Intervals
    55. Jump Game
    54. Spiral Matrix
    53.Maximum Subarray
    窗口左上角添加图标
    点击Qtableview表头,触发事件
    变参数的宏
    用互斥锁实现程序只能有一个实例
    Visual Studio 2015 + Windows 2012 R2, c++/cli Array::Sort() 抛出异常
  • 原文地址:https://www.cnblogs.com/XavierJian/p/10134193.html
Copyright © 2020-2023  润新知