(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开发中添加自定义消息和消息响应函数的更多相关文章

  1. VC2008中如何为MFC应用程序添加和删除消息响应函数

    最近重温<MFC Windows应用程序设计>第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境. VC2008下添加和删除常见的消息响应函数有两种 ...

  2. 在MFC对话框中添加状态栏

    如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...

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

    原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...

  4. MFC动态创建控件及其消息响应函数

    这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba ...

  5. iOS开发中添加PrefixHeader.pch要注意的问题

    在Xcode6.0已经不默认生成PrefixHeader.pch文件了,而PrefixHeader.pch文件对我们开发带来的便利性是不言而喻的,所以我们怎么在工程中添加PrefixHeader.pc ...

  6. 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单

    方法1:亲测 成功  转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...

  7. android 开发中 添加库文件 和so 文件的存放位置和添加依赖

    so文件一般存储在  main 当中  jniLibs 当中 然后在build.gradle中添加 sourceSets { main { jniLibs.srcDirs = ['src/main/j ...

  8. MFC DLL中如何响应PreTranslateMessage消息

    最近项目中使用到MFC,由于工程是DLL的,在使用ToolTip时碰到非模态对话框无法显示的问题.查了一番资料,发现原因是由于:虽然MFC Regular DLL派生了CWinApp类,并有一个the ...

  9. webgl开发中添加IIS的mime类型

    1.在iis中直接设置 .obj application/octet-stream .mtl application/octet-stream 2.在配置文件中加 <?xml version=& ...

随机推荐

  1. qt4 看不到qstring内容

    qt4: https://gist.github.com/gregseth/9bcd0112f8492fa7bfe7

  2. kettle实现多表同步

    本样例实现源库的所有表到目标库的同步sqlserver=>mysql(目标表存在表结构则同步),总调度如下: 由于复制记录到结果保存了多个表名,存在多个值,在高级选择对每个输入行执行一次进行循环 ...

  3. js跳转新窗口

    语法:window.open(url,[target]); eg: window.open("index.html"); window.open("index.html& ...

  4. halcon批量读取图片

    以前这个代码都是自己写,不仅繁琐,而且容易忘记.其实Halcon中提供了相关的方法.记录一下吧,其实很简单. 读取一个文件夹下的所有图片[助手]>[打开新的image acquisition ] ...

  5. ElasicSearch(2) Linux运行

    1.org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearc ...

  6. CentOS 7 无法yum安装解决方法

    1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 2)备份并替换系统的repo文件 .repo /etc/yum.repos.d ...

  7. MySQL的or/in/union与索引优化

    转载自:MySQL的or/in/union与索引优化 https://blog.csdn.net/zhangweiwei2020/article/details/80005590 假设订单业务表结构为 ...

  8. jQuery自定义alert,confirm方法及样式

    学过JavaScript的都知道,alert().confirm()都是window对象特有的方法,而这两个方法我们平时使用的频率也很高,但是比较扎心的就是他自带的样式太... 因此,我整理了一个比较 ...

  9. oracle sql developer怎么创建用户

    学习数据库的时候,用管理员账户,会有会有很多系统自创的表,很麻烦.所以要自己创建普通用户. create user 用户名 identified by 密码;--创建用户 grant connect, ...

  10. 外网访问Vmware虚拟机中的某个服务(如http)

    如果主机是windowx NAT中隐藏的端口映射,说明一下环境,利用当然是VMnet8网络连接,在虚拟机中架设linux WEB服务器利用WEB默认80端口,IP为192.168.11.10,真实主机 ...