MFC开发中添加自定义消息和消息响应函数
(1)在.h或.cpp文件定义一个消息 #define CLICK_MESSAGE_BOX WM_USER+1001
//add by 20180612 给主窗口ctrl.cpp发送消息
//自定义消息
#define WM_PENSIGNMSG WM_USER+1001
(2)在.h中类定义里添加消息映射DECLARE_MESSAGE_MAP()
//类的定义
class CamPenSignerCtrl : public COleControl
{
// 消息映射
DECLARE_MESSAGE_MAP()
}
(3)在.h中类定义里添加宏里面添加消息处理函数声明
//类的定义
class CamPenSignerCtrl : public COleControl
{
//add by 20180612 给主窗口ctrl.cpp发送消息
//定义消息处理函数
afx_msg LRESULT OnPensignMsgHandler(WPARAM wParam, LPARAM lParam);
}
(4)cpp文件里链接消息和消息映射函数
BEGIN_MESSAGE_MAP(CamPenSignerCtrl, COleControl)
//add by 20180612 给主窗口ctrl.cpp发送消息
//实现消息映射
ON_MESSAGE(WM_PENSIGNMSG,OnPensignMsgHandler)
END_MESSAGE_MAP()
(5)cpp中实现消息响应函数
afx_msg LRESULT CamPenSignerCtrl::OnPensignMsgHandler(WPARAM w,LPARAM l)
{
int nCode=l;
EvtHandler(nCode);
return 0;
}
(6)然后在本类中调用::PostMessage(PENSIGNMSG _MSG,0,0),当在这触发候,.cpp中的消息响应函数就触发了
MFC开发中添加自定义消息和消息响应函数的更多相关文章
- VC2008中如何为MFC应用程序添加和删除消息响应函数
最近重温<MFC Windows应用程序设计>第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境. VC2008下添加和删除常见的消息响应函数有两种 ...
- 在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...
- 【转载】MFC动态创建控件及其消息响应函数
原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...
- MFC动态创建控件及其消息响应函数
这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba ...
- iOS开发中添加PrefixHeader.pch要注意的问题
在Xcode6.0已经不默认生成PrefixHeader.pch文件了,而PrefixHeader.pch文件对我们开发带来的便利性是不言而喻的,所以我们怎么在工程中添加PrefixHeader.pc ...
- 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单
方法1:亲测 成功 转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...
- android 开发中 添加库文件 和so 文件的存放位置和添加依赖
so文件一般存储在 main 当中 jniLibs 当中 然后在build.gradle中添加 sourceSets { main { jniLibs.srcDirs = ['src/main/j ...
- MFC DLL中如何响应PreTranslateMessage消息
最近项目中使用到MFC,由于工程是DLL的,在使用ToolTip时碰到非模态对话框无法显示的问题.查了一番资料,发现原因是由于:虽然MFC Regular DLL派生了CWinApp类,并有一个the ...
- webgl开发中添加IIS的mime类型
1.在iis中直接设置 .obj application/octet-stream .mtl application/octet-stream 2.在配置文件中加 <?xml version=& ...
随机推荐
- 201. Spring Boot JNDI:Spring Boot中怎么玩JNDI
[视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源 ...
- git 第一次提交代码
git init git add README.md git commit -m "first commit" git remote add origin https://git. ...
- html2canvas html截图插件
以下我总结了一些注意事项,在代码中注释了,仅供参考. html2canvas.js点击付:完整使用的demo ,如下: <!DOCTYPE html><html lang=" ...
- windows下wmic命令
转载 https://www.cnblogs.com/archoncap/p/5400769.html 第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符.在 ...
- PowerDesign生成数据库
最近要忙期考,但还是决定每天抽点空来写CodeSmith的系列文章了,在此实在不敢用教程这个词语,毕竟自己对CodeSmith了解的也不是很多,有很多牛人都在博客园发布了不少关于CodeSmith的文 ...
- Django中的class Meta
元数据 class Meta做为嵌套类,主要目的是给上级类添加一些功能,或者指定一些标准 # 格式化 将返回的结果自定义 def __str__(self) rerurn self.username ...
- python入门 -- 学习笔记1
学习资料:笨方法学Python 准备: 安装环境----请自行网络搜索(Windows安装很简单,和其他安装程序一样) 找一个自己习惯的编辑器(比如:sublime text 3) 创建一个专门的目录 ...
- 关于echarts图表在tab页中width:100%失效的问题
https://www.cnblogs.com/tongrenlu/p/9268250.html
- C++ 常见术语及解释
RAII(Resource Acquisition Is Initialization) 资源获取就是初始化 RTTI(Run-time type information) 运行时类型信息 RVO(R ...
- git 删除本地所有分支
除master的所有: git branch | grep -v "master" | xargs git branch -D Git删除分支的指令:git branch -d ...