当前位置: 首页 > news >正文

MFC 自定义分发消息方法

重点:

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

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

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

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()

3. 实现自定义消息处理器函数。当消息触发时,此函数会被调用。

LRESULT CMyClass::OnMyCustomMessage(WPARAM wParam, LPARAM lParam)
{// 根据wParam和lParam处理自定义消息int num = (int)lParam;  //处理成所需要的信息...return 0; // 返回值可选,取决于具体应用场景
}

4. 发送自定义消息。你可以在程序的任何地方通过SendMessagePostMessage函数向拥有该消息处理器的对象发送消息。

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);
}

http://www.lryc.cn/news/321775.html

相关文章:

  • FPGA的应用方向
  • 河南大学大数据平台技术实验报告二
  • Spring Cloud Gateway如何实现熔断
  • 2403d,d的com哪里错了
  • LeetCode151:反转字符串中的单词
  • Linux入门-常见指令及权限理解
  • 找工作的经验总结一——渠道与简历
  • 第 126 场 LeetCode 双周赛题解
  • 固态浸压计
  • Ubuntu上搭建TFTP服务
  • SpringBoot3框架,事件和监听器、SPI
  • sadtalker-api/
  • vue+elementUI实现指定列的单元格可编辑
  • RK3568平台开发系列讲解(基础篇)内核是如何发送事件到用户空间
  • 力扣---打家劫舍---动态规划
  • mac安装rust环境
  • 1058:求一元二次方程
  • GraphQL入门之一对多关联查询
  • MATLAB和Python数值和符号计算可视化物理学气体动能和粒子速度
  • 阿里云-零基础入门NLP【基于机器学习的文本分类】
  • 蓝桥杯模块综合——高质量讲解AT24C02,BS18B20,BS1302,AD/DA(PCF8591),超声波模块
  • 前端跨平台开发框架:简化多端开发的利器
  • cesium.js加载模型后,重新设置旋转角度属性值
  • ②免费AI软件开发工具测评:通义灵码 VS 码上飞
  • 幻兽帕鲁游戏搭建(docker)
  • unity报错出现Asset database transaction committed twice!
  • 去除项目git的控制 端口号的关闭
  • 交叉注意力融合时域、频域特征的FFT + CNN -BiLSTM-CrossAttention电能质量扰动识别模型
  • 简单的Charles抓包教程
  • 如何构建Docker自定义镜像