• MFC用PostMessage传递消息


    1.自定义消息ID。

    #define WM_MY_MESSAGE (WM_USER+100)         WM_USER为windows系统为非系统消息保留的ID,这里至少要用100,因为其它控件的消息会占用一部分。

    2. 定义消息处理函数。

    消息处理函数为消息目标类的成员函数。首先应该在.h 文件中声明。这里以主窗口类为例,主窗口类名 CMainDialog,则首先在CMainDialog.h声明消息处理函数。



    protected:

    afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);




    3.在CMainDialog.cpp中实现消息处理函数



    LPESULT CMainDialog::OnMyMessage(WPARAM wParam, LPARAM lParam)
    {
    // TODO: 处理用户自定义消息
    ...
    return 0;
    }

    4.在CMainDialog.cpp中映射消息ID和消息处理函数



    BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
    //{{AFX_MSG_MAP(CMainFrame)
    ON_WM_CREATE()
    ON_WM_TIMER()
    ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()

    在创建线程的时候将主窗口句柄作为参数传入线程,就可以用 PostMessage传递消息了。












  • 相关阅读:
    最小生成树
    线段树
    编程快捷键
    线段树的动态开点
    常用库
    线性求逆元
    文件读入
    树上倍增(LCA)
    set容器
    快读与快写
  • 原文地址:https://www.cnblogs.com/skyhuangdan/p/5486398.html
Copyright © 2020-2023  润新知