• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > MFC自定义消息的实现方法

MFC自定义消息的实现方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了mfc自定义消息,mfc添加自定义消息,mfc中自定义消息,mfc用户自定义消息,mfc 如何自定义消息等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、概述:

消息机制是windows程序的典型运行机制,在MFC中有很多已经封装好了的消息,如WM_BTN**等。但是在有些特殊情况下我们需要自定义一些消息去完成一些我们所需要的功能,这时候MFC的向导不能帮助我们做到这一点。对此,我们可以通过添加相应的代码去完成这个功能。

二、实现方法:

添加自定义消息操作如下:
1. 建立MFC工程,如基于对话框的应用程序,Test。
2. 在资源中添加要处理的消息的值,即在CTestDlg.h中添加 如下代码。 (因为很多MFC的消息是在WM_USER内的,所以这里用比WM_USER大的消息)

 #define WM_MyMessage (WM_USER+100)
</div>

3. 声明消息处理函数,在CTestDlg.h中添加如下代码:

class CTestDlg : public CDialog
{ 
protected:
 ……
  // 生成的消息映射函数
  ……
  afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); // add lyw
  DECLARE_MESSAGE_MAP()
  ……
</div>

4. 添加消息映射处理,在CTestDlg.cpp中人找到如下部分添加代码:
 

BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
   ……
  ON_MESSAGE(WM_MyMessage, OnMyMessage)
END_MESSAGE_MAP()
</div>

 5. 实现自己的自定义消息处理:
 

LRESULT CTestDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
  //MessageBox("recv msg success");
  //添加自己的消息处理
  ……
  return 0;  
}
</div>

6. 如果要发送一个自定义的消息,需要使用代码
 

SendMessage( WM_MyMessage, 0, 0);
</div>

或者

 PostMessage(WM_MyMessage, 0, 0); 
</div>

如果要定义系统唯一的消息让多个应用程序去处理,不同之处如下:

1. 把上面2步骤中的宏 #define WM_MyMessage (WM_USER+100) 使用如下代码代替:

 static UINT WM_MyMessage = RegisterWindowMessage("myMessage");
</div>

2. 上面4步骤中的代码用如下代替:

 BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
   ……
  ON_REGISTERED_MESSAGE(WM_MyMessage, OnMyMessage)
END_MESSAGE_MAP()
</div>

3.测试消息时,如果要让多个应用程序都接收到这个消息,需要使用:

 ::SendMessage(HWND_BROADCAST, WM_MyMessage, 0, 0);
</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MFC自定义消息的实现方法

相关文章

  • 2017-05-28C语言 数据类型详细介绍
  • 2017-05-28C语言中获取文件状态的相关函数小结
  • 2017-05-28在C语言中对utmp文件进行查找和写入操作的函数小结
  • 2017-05-28C语言中的链接编写教程
  • 2017-05-28简单谈谈C++中指针与引用的区别
  • 2017-05-28c语言实现一个简单日历
  • 2017-05-28C语言中对于循环结构优化的一些入门级方法简介
  • 2017-05-28C++实现二维图形的傅里叶变换
  • 2017-05-28cin.get()和cin.getline()之间的区别
  • 2017-05-28函数指针的一些概念详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何用C语言去除字符串两边的空字符
    • 基于C语言char与unsigned char的区别介绍
    • VC++实现选择排序算法简单示例
    • 详解C++的JSON静态链接库JsonCpp的使用方法
    • 怎么实现类的成员函数作为回调函数
    • C++ 赋值构造函数注意点介绍
    • C++ 如何用cout输出hex,oct,dec的解决方法
    • c++类构造函数详解
    • C语言实现类似wget的进度条效果
    • 算法详解之回溯法具体实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有