`
wo_deqing
  • 浏览: 64198 次
文章分类
社区版块
存档分类
最新评论

vc++消息映射之消息种类

 
阅读更多
在WINDOWS中应用程式有三种消息:窗口消息,命令消息,控件消息。

1、窗口消息

一般和窗口内部运作有关,如创建窗口,绘制窗口,销毁窗口,通常,消息是从系统发到窗口,或从窗口发到系统。发送函数SendMessage()或PostMessage()。包涵的三个变量解释如下:
Message————-WM_XXX
wParam—————定义的命令
lParam—————-定义的命令
WM_XXX能够是许多窗口消息之一,如下列消息:
WM_CREAT:告诉窗口初始化自己。
WM_PAINT: 告诉窗口绘制自己。
WM_MOUSEMOVE:告诉窗口鼠标移经他。
当然更有好多,看MSDN吧~~~~

2 、命令消息

命令消息通常和处理用户请求有关,当用户单击一个菜单或工具栏时,命令消息就产生了。并发送到能处理该消息的类或函数(如装载文本,保存选项等)。

当用SendMessage(),PostMessage()发送命令消息时,变量Message,wParam,lParam的格式如下:
Message————–WM_COMMAND
wParam—————-0或CommandID
IParam—————–0
CommandID要么时选中的菜单项的ID,要么是被单击的工具栏按钮ID,主意CommandID不能大于一个字长,系统就只用零来填写高位。某些控件也发送WM_COMMAND消息,区别两种消息的唯一的方法是看lParam是否为NULL。

3、控件通知消息

通常控件通知消息是有重要的事情发生,有控件窗口发送到父窗口的意种消息。如打开一个组合框。控件通知父窗口为进一步控制子窗口提供了机会。例如,打开一个组合框,父窗口能够用组合框开始创建时得不到的消息填充他。

控件通知经历了一个演变过程。因而SendMessage()的变量Message,lParam,wParam有三种格式如下:
(1) 第一种控件通知消息格式
第一种控件通知消息格式只能时窗口消息的子集。
Message————–WM_XXX
wParam—————-定义的命令
IParam—————–定义的命令

WM_XXX能够是以下消息中的任意一种:
WM_PARENTNOTIFY :表明一个控件窗口要么被建立或销毁,要么鼠标已单击了该窗口。
WM_CTLCOLOR, WM_DRAWiTEM, WM_MEASUREiTEM, WM_DELETEITEM,WM_CHARTOiTEM, WM_COMPAREITEM都是发往父窗口的消息,用来绘制自身控件的窗口。
WM_HSCROLL, WM_VSCROLL由滚动条发送,通知滚动窗口的父窗口。

(2) 第二中控件通知消息的格式
Message————–WM_COMMAND
wParam—————-XN_XXX或控件ID
IParam—————–窗口句柄
IParam用来区分命令传送消息还是控件(前边我们说过了吧,呵)。
XN_XXX 的值因发送通知的控件的不同而不同,例如当XN_XXX值为EN_CHANGE时,告诉父窗口显示在文本编辑框中的文本已发生了变化。

(3) 第三重控件通知消息格式
Message————–WM_NOTIFY
wParam—————-控件ID
IParam—————–指向NMHDR的指针

IParam指向一种结构,该结构包括有关该通知控件的任何内容,而不受空间和类型的限制,该架构就是NMHDR。
typedef struct tagNMHDR {
HWND hwnd;
UNIT idFrom;
UNIT code;
} NMHDR;
NMHDR代表通知消息头,为什么要这个头?因为某些控件用NMHDR作为头发送一个更大的结构消息,即使那些不知道更大结构内容的函数还是能处理通知头。

分享到:
评论

相关推荐

    vc++课程设计论文

    VC++课程设计论文主要涉及了MFC(Microsoft Foundation Classes)应用程序设计中的消息处理机制和消息映射机制。MFC是一个C++库,它为开发Windows应用程序提供了一种面向对象的方法。 1. **消息处理机制**:Windows...

    VC++之MFC类库中文手册_目录保护_vc++之mfc_mfc类_VC++之MFC类库中文手册_MFC类库_

    该MFC参考含盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容。参考中“类层次结构图”是为了方便查找某个类... · 结构、风格、回调函数和消息映射 详细解说MFC库中的各个结构、风格、回调函数和消息映射。

    VC++之MFC类库中文手册

    通过这个"VC++之MFC类库中文手册",开发者可以快速了解并掌握MFC的各种类和函数,解决实际编程中的问题。手册可能涵盖以下内容:MFC的基本概念、类库结构、如何创建MFC应用、消息处理、控件使用、数据库操作、网络...

    VC++ 跳过MFC框架 处理键盘设备消息 例程(vS2010)

    在MFC中,通常会使用`CDialog`类创建对话框,并通过消息映射机制来处理用户输入,包括键盘消息。 然而,如果想要在MFC对话框程序中直接处理键盘消息,而不是让MFC框架默认处理,可以重载`CDialog`类的`...

    VC++实例.pdf

    ### VC++实例知识点总结 #### 一、Visual C++简介 **1.1 Visual C++ 和 MFC 的历史** - **Visual C++**: 微软公司推出的一款支持 Windows 平台下 C++ 开发的集成开发环境(IDE)。Visual C++ 通过提供强大的编辑...

    VC++中应用OpenCV教程

    2. **消息映射**:在MFC的`.h`和`.cpp`文件中定义消息映射,处理如按钮点击、文件选择等事件,触发图像处理操作。 3. **界面交互**:通过MFC控件(如按钮、对话框)与用户进行交互,获取输入参数或显示结果。 **五...

    VC++实现的自组织映射SOM方法图像分类聚类算法源代码

    自组织映射(Self-Organizing Map,简称SOM)是一种无监督学习的神经网络模型,由芬兰科学家Teuvo Kohonen在1982年提出。这种算法主要用于数据的降维和可视化,常用于模式识别、分类和聚类任务。在本案例中,我们...

    vc++手写数字识别

    这些模型通过训练学习,形成一个映射关系,将特征映射到对应的数字上。 5. 训练与测试:使用已知的标签数据集对分类器进行训练,不断调整模型参数以提高识别精度。训练完成后,用独立的测试集验证模型的性能,评估...

    基于vc++的SVM

    在本项目中,我们利用VC++这一流行的C++开发环境来实现SVM的功能,使得开发者可以轻松地进行自动分类任务,例如文本自动分类,以及执行回归分析。 SVM的核心思想是找到一个最优超平面,该超平面能够最大程度地将...

    vc++实现仓库管理系统

    开发者可以通过消息映射机制处理用户的输入,如点击按钮执行相应的操作,如查询库存、录入出库单等。 六、数据验证与错误处理 为了保证数据的准确性和系统的稳定性,需要在程序中加入数据验证和错误处理机制。例如...

    VC++ Matlab

    从早期的红外行扫描仪、多光谱CCD相机到现代的合成孔径雷达(SAR),遥感设备的种类不断增多,但无论哪种设备,获得的原始图像均为二维图像。 - **需求分析**:在特定应用领域,例如地质勘探、城市规划等,三维图像...

    VC++ 读书笔记

    - **消息分类**:根据菜单项的不同类型和功能进行分类。 - **标记菜单的创建**:如何创建带有特殊标记的菜单。 - **缺省菜单**:默认情况下提供的菜单。 - **图形标记菜单**:在菜单项旁边添加图形。 - **菜单项使能...

    vc++ 应用源码包_1

    vc++动态链接库编程之DLL典型实例源代码下载 VC++仿Dreamweaver取色器源代码 VC++挂机锁屏系统源程序 VC++建立桌面或开始菜单快捷方式 VC++界面库编程 SkinMagic 2.21 动态库版本的使用和 Skin++动态库及静态库版本...

    vc++课文(张孝祥)

    - **4.5.4 如何添加消息映射** - 具体的操作步骤。 - **4.6 ClassWizard的使用** - **4.6.1 ClassWizard概貌** - ClassWizard是MFC提供的一个辅助工具。 - **4.6.2 如何添加消息处理函数** - 如何使用...

    VC++ 对话框 标准控件

    ### VC++ 对话框 标准控件 #### 4.1 对话框的组成与分类 ##### 4.1.1 对话框的组成 对话框是Windows应用程序与用户进行交互的重要界面元素。对话框主要由两部分组成: 1. **对话框模板**:对话框模板定义了对话框...

    vc++深入详解缺页 362、363、365、366、367页

    在362页,作者可能详细解释了缺页的分类:正常缺页和故障缺页。正常缺页是进程运行时不可避免的情况,例如程序首次访问某个页面。而故障缺页则是因为非法地址访问、内存溢出等原因导致,这种情况通常需要进行错误...

    图像模式识别—VC++技术实现源代码

    分类器设计则涉及到选择合适的算法,如支持向量机(SVM)、神经网络、决策树或K近邻(KNN)等,用于将提取的特征映射到预定义的类别。 VC++提供了丰富的库来支持图像处理和模式识别,比如OpenCV(Open Source Computer ...

    VC MFC的消息和命令 ppt

    本章主要讨论MFC中的消息和命令处理,涵盖Windows消息的种类、MFC的消息处理机制以及各种消息的处理实例。 首先,Windows操作系统通过消息来驱动应用程序。一条Windows消息通常由三个部分组成:消息ID(如WM_PAINT...

    VC++2010权威开发指南+源代码.part2

     3.2.1 菜单消息的分类 129  3.2.2 菜单消息的传输路由 129  3.3 动态菜单操作 131  3.3.1 添加菜单 131  3.3.2 插入菜单 133  3.3.3 删除菜单 135  3.3.4 插入菜单的命令响应 136  3.3.5 修改菜单 137  ...

Global site tag (gtag.js) - Google Analytics