• 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 

  • 相关阅读:
    PHP序列化和反序列化
    移动端纯css超出盒子出现横向滚动条
    css3盒子flex
    css怎么设置2个div同行,第一个固定宽度,第二个占满剩余的部分
    PHP对象基础
    常用header头
    【转载】文件上传那些事儿,文件ajax无刷上传
    简单工厂模式(Simple Factory Pattern)
    单例模式(singleton)
    UML类图
  • 原文地址:https://www.cnblogs.com/XavierJian/p/10134193.html
Copyright © 2020-2023  润新知