VC增加自定义消息

news/2024/8/26 15:05:20

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

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

第一步:定义消息。开发Windows95应用程序时,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://www.niftyadmin.cn/n/1999036.html

相关文章

hashmap为什么是2的倍数_HashMap扩容大小为什么是2的幂

1、前言在回答这个问题之前,我们可以回顾一下HashMap的存取过程,当执行putVal的操作的时候,首先检查大小,看是否需要扩容(默认元素超过最大值的0.75时扩容),如果需要扩容就进行扩容然后计算出key的hashcode&#xff0c…

zlggui菜单12864_悠景双色12864OLED驱动+ZLGGUI简单移植,有图有真相

最近也做了个OLED的温度计,方案是ZLG Easy ARM113818B202.4OLED双色屏LT3465本来想等CP2102的USB转串口做完,可以在电脑上记录分析温度以后才传方案,现在既然楼主先贴了,那我也来凑凑热闹吧。(原文件名:Photo_0001.jpg)(原文件名:…

VC制作类似于IE4的酷工具条

VC制作类似于IE4的酷工具条 用VC制作工具条的方法很多,本文提供一种制作类似于IE4.0的工具条。能实现鼠标移上图标时,图标变为彩色,在工具条的位置,能停摆几种工具条。具体原理解释见步骤过程。步骤如下:1.…

【Amaple教程】2. 模块

正如它的名字&#xff0c;模块用于amaplejs单页应用的页面分割&#xff0c;所有的跳转更新和代码编写都是以模块为单位的。 定义一个模块 一个模块由<module>标签对包含&#xff0c;内部分为template模板、JavaScript和css三部分&#xff0c;像这样&#xff1a; <modu…

以下哪个变量可以做python的变量_Python 中,以下哪个变量的赋值是正确的?

摘要&#xff1a;行室在进站的外基调整覆盖时&#xff0c;中值正确向化方、中值正确增以“压制强室外”为优室内&#xff0c;系统改调整结合必须的整分布室内&#xff0c;系统染问题频污已有的高处理层导分布室内。染引钙污钻井液黏起的切力度、中值正确升高&#xff0c;效果加…

echart只显示前几_开箱篇:首测27英寸飞利浦显示器,有大屏的味道

随着智能时代的崛起&#xff0c;电脑以及周边产品的使用率越来越低。此前还有有网友在讨论&#xff0c;以后的智能手机会不会替代电脑呢&#xff1f;当然&#xff0c;这只是部分网友的看法&#xff0c;在我看来这个可能性并不大&#xff0c;因为手机的屏幕太小了&#xff0c;先…

VC在windows下编写用于串行通讯的程序

VC在windows下编写用于串行通讯的程序 既然有这么多人问这个文体&#xff0c;贝贝就给个Visual C 4.2写的 Window 95串口通讯函数集合(只适用于32位) 需要说明的是&#xff1a;这是我程序的一部分&#xff0c;因此有一些与具体应用无关的部分。 但我觉得关键是原理&#xff0…

centos 7安装galera的小注意

2019独角兽企业重金招聘Python工程师标准>>> 因为centos 7自带的mysqllib跟之前的不同&#xff0c;所以你用rpm -qa | grep mysql是查不到的&#xff0c;所以要查找的其实是这个mariadb-libs,所以我们要卸载的其实是这个库&#xff0c;否则你的server是装不上的。yu…