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=& ...
随机推荐
- qt4 看不到qstring内容
qt4: https://gist.github.com/gregseth/9bcd0112f8492fa7bfe7
- kettle实现多表同步
本样例实现源库的所有表到目标库的同步sqlserver=>mysql(目标表存在表结构则同步),总调度如下: 由于复制记录到结果保存了多个表名,存在多个值,在高级选择对每个输入行执行一次进行循环 ...
- js跳转新窗口
语法:window.open(url,[target]); eg: window.open("index.html"); window.open("index.html& ...
- halcon批量读取图片
以前这个代码都是自己写,不仅繁琐,而且容易忘记.其实Halcon中提供了相关的方法.记录一下吧,其实很简单. 读取一个文件夹下的所有图片[助手]>[打开新的image acquisition ] ...
- ElasicSearch(2) Linux运行
1.org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearc ...
- CentOS 7 无法yum安装解决方法
1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 2)备份并替换系统的repo文件 .repo /etc/yum.repos.d ...
- MySQL的or/in/union与索引优化
转载自:MySQL的or/in/union与索引优化 https://blog.csdn.net/zhangweiwei2020/article/details/80005590 假设订单业务表结构为 ...
- jQuery自定义alert,confirm方法及样式
学过JavaScript的都知道,alert().confirm()都是window对象特有的方法,而这两个方法我们平时使用的频率也很高,但是比较扎心的就是他自带的样式太... 因此,我整理了一个比较 ...
- oracle sql developer怎么创建用户
学习数据库的时候,用管理员账户,会有会有很多系统自创的表,很麻烦.所以要自己创建普通用户. create user 用户名 identified by 密码;--创建用户 grant connect, ...
- 外网访问Vmware虚拟机中的某个服务(如http)
如果主机是windowx NAT中隐藏的端口映射,说明一下环境,利用当然是VMnet8网络连接,在虚拟机中架设linux WEB服务器利用WEB默认80端口,IP为192.168.11.10,真实主机 ...