MFC 自定义分发消息方法

重点:

1.创建一个专门自定义消息的头文件 constValue.h

#define WM_MY_CUSTOM_MESSAGE (WM_USER + 101) // 自定义消息ID

2.在你需要发送和接收该消息的类中,首先注册这个自定义消息。一般在窗口类(如CWnd派生类)的OnInitDialog、OnCreate或其他初始化函数中进行。

cpp 复制代码
class CMyClass : public CWnd
{
    DECLARE_DYNAMIC(CMyClass)

public:
    CMyClass();
    virtual ~CMyClass();

protected:
    DECLARE_MESSAGE_MAP()

    afx_msg LRESULT OnMyCustomMessage(WPARAM wParam, LPARAM lParam);
};

BEGIN_MESSAGE_MAP(CMyClass, CWnd)
    ON_MESSAGE(WM_MY_CUSTOM_MESSAGE, &CMyClass::OnMyCustomMessage)
END_MESSAGE_MAP()
  1. 实现自定义消息处理器函数。当消息触发时,此函数会被调用。
cpp 复制代码
LRESULT CMyClass::OnMyCustomMessage(WPARAM wParam, LPARAM lParam)
{
    // 根据wParam和lParam处理自定义消息
    int num = (int)lParam;  //处理成所需要的信息
   ...
    return 0; // 返回值可选,取决于具体应用场景
}
  1. 发送自定义消息。你可以在程序的任何地方通过SendMessagePostMessage函数向拥有该消息处理器的对象发送消息。
cpp 复制代码
class SendMess
{
public:
	static void SendMessage(HWND hWnd) ; //向需要发送的窗口发送消息
	static std::set<HWND> m_hWnds;  //存储需要发送消息的句柄
};



std::set<HWND> SendMess::m_hWnds;
void SendMess::SendMessage(HWND hWnd)
{
	LPARAM myData = int(1);
	::SendMessage(hWnd, WM_MY_CUSTOM_MESSAGE, 0, (LPARAM)myData);
}
相关推荐
莫生灬灬4 天前
灵码 LingBuilder:用中文写代码,确定性生成真实 C++ 工程(开源)
c++·开源·mfc
nLif4 天前
基于GTK的简易MFC对话框兼容层 -- MfcToGTK
linux·c++·mfc·gtk
C++ 老炮儿的技术栈8 天前
MFC CPtrArray的用法
开发语言·数据结构·c++·算法·mfc·c
神仙别闹14 天前
基于C++ MFC 实现的智慧公交系统
开发语言·c++·mfc
xcl092515 天前
商超智能运营实战:数据驱动提升门店效率与体验指南
java·mfc·宠物
神仙别闹19 天前
基于C++ MFC RSA 实现加密程序
开发语言·c++·mfc
xcl092519 天前
宠物救助领养系统实战开发指南:从需求分析到部署上线
java·mfc·宠物
张张的快乐时光呀!21 天前
记录使用 MFC 打开文件对话框读取一张图片并做简单的灰度转换算法简单学习过程
c++·mfc
小小龙学IT22 天前
GLM 开源图形学数学库深度解析:从向量、矩阵到四元数的完整实战
c++·矩阵·开源·mfc
鸿芯微控科技22 天前
MFC温度补偿怎么验证?气体温度、密度变化与Python分析
mfc·质量流量控制器·mfc温度补偿·流量校准·气体流量测试