WM_USER以及自定义消息WM_XXXX的定义 声明 实现

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

WM_USER

    为了防止用户定义的消息ID与系统的消息ID冲突,MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。

自定义消息的步骤编辑

(一)先在头文件中定义自己消息的ID,如 #define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
(二)再声明自己的消息处理函数: afx_msg void OnMyFirstMessage();
(三)在 CPP文件中添加消息映射宏:
BEGIN_MESSAGE_MAP 和END_MESSAGE_MAP代码块中添加消息映射宏 ON_MESSAGE,(建议添加到//}}后面)如下:
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{ AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)
END_MESSAGE_MAP()
(四)最后定义消息处理函数:
OnMyFirstMessage()
{
// TODO: 在此添加控件通知处理程序代码
}
     备注:自定义消息的发送可以通过SendMessage命令

               ::SendMessage(this->GetParent()->m_hWnd,WM_CUSTOME_CFG_CHGED,0,0);  //在需要消息触发(如单击控件)处发送该消息到制定窗口,此处将该消息发送给了本窗口的父窗口,因此,消息的处理函数声明、宏定义、消息实现应写在父窗口对应的father.h与father.cpp文件中;消息ID的声明在Child.h文件中


[Windows编程]父对话框与非模态子对话框的消息通信 父对话框类:Cwhu_VoiceCardDlg 子对话框类:Cwhu_FaxDlg 父对话框向子对话框传递消息 Step1: 定义消息 在 父对话框类的头文件"whu_VoiceCardDlg.h"中#define  WM_UPATEDATA WM_USER+20 ,父对话框发出WM_UPATEDATA 消息,子对话框接收并相应。 Step2:定义消息响应函数 在子对话框头文件 阅读详情

相关推荐

无效视图XXxX.search 定义,‘-no context-‘

无效视图XXXX.search 定义,'-no context-' 代码如下: <search string="课程"> <field name="teacher_id" select="True"/> <field name="course_id" select="True" /> <field name="schedule_id" select="True" /> <field name="timing_id"

fqfq123456的专栏 1万+

HEAP: Free Heap block XXXX modified at XXXX after it was freed

*本文旨在解决在调试过程中遇到如下问题时的解决办法: HEAP: Free Heap block XXXXA modified at XXXXB after it was freed 意思是:已经释放的内存地址A,在B地址处的值被改变(A和B都处于被释放的内存段内),即很可能出现了野指针,而很多情况下你会说,我的每个new和delete都是成对的,在delete后将指针赋值为NULL。但是

ylj135cool的博客 200万+

1940XXXX年美国财政总支出、总收入及赤字.xls

1940XXXX年美国财政总支出、总收入及赤字.xls

XXXX

C:\Users\swy>python Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >&g...

SWY's Workshop 72万+

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

1.解压 tar zxvf wmsdk_bundle-xxxxxxx cd wmsdk_bundle-xxxxxxx 2. make installpkgs 3.安装gcc-arm-none-eabi http://blog.csdn.net/al86866365/article/details/47424727 4.编译测试 make boot2 5.下载 Error:

al86866365的专栏 87万+

MFC中用户自定义消息实现

今天继续做一个小单子,其中一个GridCtrl控件的WM_CHAR消息在被GridCtrl响应后需要再被主对话框响应,因此考虑在GridCtrl的OnChar函数中给主对话框发送一个用户自定义消息。这一节来复习一下基本步骤。 步骤一:在头文件最好是 resource.h 中声明消息 #define WM_MYCHARMSG WM_USER + 1 步骤二:在响应类中声明消息映射(这一步通常可以

对酒当歌,人生几何。譬如朝露,去日苦多 714

vc 添加自定义消息消息处理函数分5步

1.在要添加消息的类头文件中定义宏 #define WM_xxx WM_USER+n(n>=0);2.在类的声明中添加消息处理函数的声明 afx_msg void xxxx(WPARAM wParam,LPARAM lParam);3.在类的实现文件中消息映射部分添加消息映射  ON_MESSAGE(WM_xxx, xxxx);4.自己编写消息处理函数。5.在要发送此消息的函数中调用函数BOO

jackin2的专栏 689

自定义消息小结

Window 系统是以消息形式驱动并运行的,作为一个Window程序员,编程时对系统消息的控制应该已经讳莫如深了,但是只使用系统消息,编程时势必受到束缚,为了满足我们程序灵活自由的编写程序,MS为我们提供了PostMessage和SendMessage两个函数开放程序员自定义消息的编程方式。关于发送和寄送消息MS为我们提供的PostMessage和SendMessage这两个函数,前者采用了寄送消

1861

vc自定义消息处理函数与定时器

自定消息处理函数5步走: 1.自定义消息号。在windows中系统是通过消息号区别不同的消息,再进行相应的处理。为了相不与系统预定义消息相冲突,自定义消息号应大于一个值,WM_USER,即WM_USER是系统的消息的最大号,只需加上一个整数就可以作为定义消息号了: #

http://www.softwareace.cn 王牌软件 715

MFC自定义消息中获取 Tab Control的子对话框的 句柄

首先是自定义消息的步骤; 自定义消息 1.发送消息的对话框的.h文件中添加: #define WM_USERMESSAGE WM_USER+n //WM_USERMESSAGE为自己定义消息名称,n>100。 2.在需要发送消息的地方添加  ::SendMessage(hwnd,WM_USERMESSAGE,XXXX,XXXX);hwnd是要接收消息的窗口的句柄;GetSafeHwnd

java、c++、机器学习方向King 3616

VS2013 MFC 消息映射

0.消息MFC程序进行通讯的基础,在MFC应用程序中传输的消息有三种类型:窗口消息、命令消息和控件通知。   (1)窗口消息:WM_XXX 窗口消息(Window Message)一般与窗口的内部运作有关,如:创建窗口、绘制窗口和销毁窗口等。通常,消息是从系统发送到窗口,或从窗口发送到窗口。   (2)命令消息:WM_COMMAND 命令消息一般与处理用户请求相关,当用户单击一个菜单项或工

BCD_not_CBD的博客 1860

vc 添加消息消息处理函数

添加自定义消息和函数: 1.在要添加消息的类头文件中定义宏 #define WM_xxx WM_USER+n(n>=0); 2.在类的声明中添加消息处理函数的声明 afx_msg void xxxx(WPARAM wParam,LPARAM lParam); 3.在类的实现文件中消息映射部分添加消息映射  ON_MESSAGE(WM_xxx, xxxx); 4.自己编写消息处理函数。

发展是曲折的但也是前进的 1807

C++笔记》 Part11 MFC在对话框中嵌入子对话框,同时利用类似Qt的信号槽来发送消息传递参数

C++笔记》 Part11 MFC在对话框中嵌入子对话框,同时利用类似Qt的信号槽来发送消息传递参数 一、对话框中显示对话框的方法: 1、首先创建要在对话框里显示的那个对话框,命名为:IDD_Dialog。 设置这个对话框的属性: 1)、“Style”选择“Child”;中文版“样式”选择“下层”。 2)、“Border”为“None”;中文版“边框”选择“无”。 2、为了显示时...

梁的博客 2952

窗口学习笔记

窗口学习笔记

qq_43556549的博客 487

深入浅出MFC(第九章)

1、概述 Windows程序的本质是借着消息来维持脉动,每一个消息都有一个代码,并以WM_开头的常数表示,消息会循着Application Framework规定的路线,游走于各个对象之间,直到找到它的消息处理函数,找不到的话,Framework最终就把它交给::DefWindowProc函数去处理。 按理说:每一个窗口类别有它自己的窗口函数。不同窗口所获得的消息,应该由不同的窗口函数

TrustNature 877

MFC之任务管理器篇

MFC】知识点串联:选项卡、对话框、按钮、静态文本、消息框、树、列表、菜单....

shmilyaxy的博客 965
上一篇: VC ON_CONTROL_RANGE多个控件响应一个方法
下一篇: VC中按钮的MouseDown和MouseUp事件捕捉
Kitus
博客等级 码龄15年 4粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值