文档章节

增加自定义消息的步骤

Amamatthew
 Amamatthew
发布于 2014/06/21 11:00
字数 300
阅读 12
收藏 0

ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,ClassWizard就可以象处理其它消息一样处理你自定义的消息了。

下面是增加自定义消息的步骤:

第一步:定义消息。开发Windows应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。

第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。

LPESULT   CMainFrame::OnMyMessage(WPARAM   wParam,   LPARAM   lParam) 
{ 
    //   TODO:   处理用户自定义消息 
    //            ... 
          return   0; 
}

第三步:在类头文件的AFX_MSG块中说明消息处理函数:

class   CMainFrame:public   CMDIFrameWnd 
{ 
        //... 
        //   一般消息映射函数 
        protected: 
                //   {{AFX_MSG(CMainFrame) 
                afx_msg   int   OnCreate(LPCREATESTRUCT lpCreateStruct); 
                afx_msg   void  OnTimer(UINT nIDEvent); 
                afx_msg   LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); 
                //}}AFX_MSG 
                DECLARE_MESSAGE_MAP() 
}

 第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。

BEGIN_MESSAGE_MAP(CMainFrame,   CMDIFrameWnd) 
        //{{AFX_MSG_MAP(CMainFrame) 
        ON_WM_CREATE() 
        ON_WM_TIMER() 
        ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) 
        //}}AFX_MSG_MAP 
END_MESSAGE_MAP()

        如果用户需要一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。

本文转载自:http://zhidao.baidu.com/question/270913067.html?qbl=relate_question_2&word=%B6%D4%D3%DAMFCappcati...

共有 人打赏支持
Amamatthew
粉丝 67
博文 1050
码字总数 76443
作品 0
厦门
后端工程师
vc6.0添加自定义用户消息的基本过程

在学习过程中遇到要添加用户自定义消息的过程.我觉得书上写的比较散,于是就自己总结了这个基本过程,以为日后备查. 首先弄清楚两点:(1)谁要发送这个消息(2)谁要接受这个消息。 用一个简单...

长平狐
2012/11/01
60
0
Android热修复实践应用--AndFix

一直关注App的热修复的技术发展,之前做的应用也没用使用到什么热修复开源框架。在App的热修复框架没有流行之前,做的应用上线后发现一个小小的Bug,就要马上发一个新的版本。我亲身经历过一...

Common1140
2016/03/17
386
0
禅道 9.6 版本发布,新增 webhook、积分和多人任务

禅道开源版9.6版本正式发布。 新版本中,新增了webhook功能,实现与倍冾、钉钉的消息通知接口;新增禅道操作获取积分的功能; 项目任务新增了多人任务和子任务功能;增强列表页、导航菜单、必...

炒蚕豆吃蹦豆
2017/11/08
1K
6
VC2010中自定义消息

VC中自定义消息步骤如下: 1、打开类向导,添加自定义消息,如下图: 点击“确定”,“确定”关闭向导。 2、在窗口头文件中,添加消息常量 #define WMMYMESSAGE WMUSER + 101 头文件中由向导...

Chinayu2014
2017/10/07
0
0
部署ADFS高可用环境并集成Office365之ADFS高可用等配置(三)

2 登陆验证 https://localhost/adfs/ls/IdpInitiatedSignon.aspx 3登陆助手安装 1.下载microsoft online services登陆助手 2.运行登陆助手安装程序 3.安装完成 4.下载并安装Windows Azure A...

没钱瞎逛逛
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SharedPreferences 的使用,commit和apply两个方法的区别

SharedPreferences sp = getSharedPreferences("config",MODE_PRIVATE); //第一个参数:存储文件的名称,第二个参数文件的访问权限,通常MODE_PRIVATE是私有存储 sp.edit().putString("USERNAM...

lanyu96
28分钟前
1
0
02-《Apache Tomcat 9 User Guide》之简介

1.Introduction - 介绍 For administrators and web developers alike, there are some important bits of information you should familiarize yourself with before starting out. This d......

飞鱼说编程
33分钟前
1
0
关于maven的使用,这一篇基本就够了

2.1 关于maven 每一个工具的出现都有其历史意义,而Maven的出现则是开发者对于不同的项目都要有自己的Ant构建文件,而这些文件都各不相同,而且JAR被检入CVS(Concurrent Version System),...

小小明童鞋
34分钟前
16
0
从xtrabackup完整备份恢复单个innodb表

现在大多数同学在线上采取的备份策略都是xtrabackup全备+binlog备份,那么当某天某张表意外的删除那么如何从xtrabackup全备中恢复呢?从mysql 5.6版本开始,支持可移动表空间(Transportable...

IT--小哥
39分钟前
1
0
百度AI攻城狮,用TensorFlow API训练目标检测模型(浣熊超可爱)

今天,人工智能正影响我们生产、生活的方方面面。10月10日,为期三天的2018华为全联接大会在上海拉开帷幕,此次大会以“+智能,见未来”为主题,发布了AI战略及全球领先的全栈全场景AI解决方...

Python唱情歌
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部