C++ MFC中添加自定义消息映射宏及添加消息响应函数

下面是我自己在学习C++过程中遇到的问题及解决过程,我把这个共享出来,希望能帮到遇到同样问题的同胞!

一、添加消息响应函数

afx_msg void OnOwnerDraw(NMHDR * pNotifyStruct, LRESULT* pResult);   //这里是你自定义的函数
	DECLARE_MESSAGE_MAP()

二、在源文本中添加反消息映射宏代码
 

BEGIN_MESSAGE_MAP(CCustomToolBar, CToolBarCtrl)
	ON_NOTIFY_REFLECT(NM_CUSTOMDRAW,OnOwnerDraw)
END_MESSAGE_MAP()

三、实现消息处理函数
 

四、到这里就实现我们想要的结果了哦!

时间: 2024-12-16 14:31:20

C++ MFC中添加自定义消息映射宏及添加消息响应函数的相关文章

MFC中PeekMessage的使用,非阻塞消息循环

在程序设计的时候经常要进行一个数据循环,比如播放音乐需要循环的向缓冲区里面写入数据,在这个时候比较通用的方法是建立一个线程做事情,但是有时候不想创建多线程就可以使用微软提供的PeekMessage方法,使用起来很简单,如下 while(waveOutUnprepareHeader((HWAVEOUT)hWaveOut, lpWaveHdr, sizeof(WAVEHDR))!= MMSYSERR_NOERROR) { //循环清除缓冲区,如果成功表示播放完毕 //如果没有播放完毕则循环下面语句

MFC中不同对话框间使用SendMessage发送自定义消息的具体实现

1. 基本知识 SendMessage的基本结构如下: SendMessage( HWND hWnd,  //消息传递的目标窗口或线程的句柄. UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的, //在vc编译器中右键有个“转到WPARAM的定义”的选项可以查看. LPARAM lParam); //参数2 其中一些参数的由来如下: //typedef unsign

【转载】MFC动态创建控件及其消息响应函数

原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba10-41616d16f07e.html (2)http://www.cppblog.com/deercoder/articles/107132.html 这两篇帖子是比较经典的,能够回答

在MFC中添加用户自定义消息

在MFC中添加用户自定义消息 (2009-03-23 13:44:18) 转载▼ 标签: mfc 消息 自定义消息 it 分类: 计算机编程 首先弄清楚两点: (1)谁要发送这个消息(2)谁要接受这个消息. 用一个简单的例子来说明.对象A向B(也可以就是A到A)发送消息. 1 发送消息 首先在A的头文件中定义这个消息: #define WM_USERMESSAGE WM_USER+30 所有自定义消息都是以WM_USER消息为基础加上一个任意的自然数来表示的.A是向外发送消息的对象,因此在A的某

MFC中消息响应机制

由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击.鼠标移动等操作都只能由视类窗口捕获.一个MFC消息响应函数在程序中有三处相关信息:函数原型.函数实现和以及用来关联消息和消息响应函数的宏. (1)在消息响应函数的原型代码中,函数声明的前部有一个afx_msg限定符,也是一个宏,该宏表明这个函数是一个消息响应函数的声明. (2)消息映射宏:在视图类的源文件中,BEGIN_MESSAGE_MAP()和 END_MASSAGE_MAP()这两个宏之间定义了消息映射表,例如对于画线,其中

visual c++中预定义的宏

一.主要目标 (由于visual studio通常包含很多开发环境,通常将其中c/c++的ide称为visual c++ 20xx) 整理下visual c++ 2010下预定义的宏.做一下备忘和了解,在实际编码中可以考虑使用部分宏作为判断标准. 主要参考链接:http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.100).aspx 二.vc++ 2010中预定义宏 注意本文中提及的所有预定义宏都是无参数的,并且不能重定义. 1. __FIL

MFC中给控件添加变量,DoDataExchange中

DoDataExchange函数其实是一项数据动态绑定技术.比如你在写动态按钮过程中须对按钮添加变量时,怎么添加?控件类已经写好了,其变量是已经固定的.你要添加新的变量就要用到DoDataExchange函数. 你要在对话框的构造函数里面初始化一个变量,再用DoDataExchange函数将它绑定到你的动态按扭中,比如:DDX_Check(pDX, IDC_CHECK1, m_Lesson1);这就是将m_Lesson1(这是一个外部变量,其定义在对话框的构造函数里)绑定到IDC_CHECK1中

MFC 如何添加自定义消息

MFC 如何添加自定义消息 分类: MFC2012-08-17 18:21 561人阅读 评论(0) 收藏 举报 mfcnullwindowsuser工作command MFC如何添加自定义消息   MFC自定义消息 图解VC添加自定义消息 MFC激活自定义消息 如果用户自定义的类要求响应普通的Windows消息(也就是以WM_开头,除了WM_COMMAND以外的消息,这类消息在WM_USER以下的是系统消息,WM_USER以上的可以由用户自己定义),那就要求自定义的类必须从CWnd中派生.这是

MFC中用户自定义类响应自定义消息

这篇技术文章不是讨论经典的MFC中的消息工作机理的,讨论消息工作原理.方式和路径的文章在网上和书本中随处可见.网上众多的讨论都是关于如何响应并进行用户自定义消息映射的:网上还有一些文章介绍如何在自定义类中响应Windows消息,在本文中都简略叙述.但是,网上大部分的文章没用透彻阐述如何在用户自定义类中响应自定义消息这一通用方法. 问题定义如下:用户自定义一个类,这个类不一定要有界面(完全可以是不可视的),要求自定义的类可以响应某个自定义消息. 首先能够响应消息的类必须都从CCmdTarget类中