WEB开发网
开发学院软件开发VC 深度解析VC中的消息(上) 阅读

深度解析VC中的消息(上)

 2009-10-27 20:31:21 来源:WEB开发网   
核心提示:消息有哪几种?其实,windows中的消息虽然很多,深度解析VC中的消息(上)(2),但是种类并不繁杂,大体上有3种:窗口消息、命令消息和控件通知消息,由于控件通知消息很重要的,人们用的也比较多,窗口消息大概是系统中最为常见的消息,它是指由操作系统和控制其他窗口的窗口所使用的消息

消息有哪几种?

其实,windows中的消息虽然很多,但是种类并不繁杂,大体上有3种:窗口消息、命令消息和控件通知消息。

窗口消息大概是系统中最为常见的消息,它是指由操作系统和控制其他窗口的窗口所使用的消息。例如CreateWindow、DestroyWindow和MoveWindow等都会激发窗口消息,还有我们在上面谈到的单击鼠标所产生的消息也是一种窗口消息。

命令消息,这是一种特殊的窗口消息,他用来处理从一个窗口发送到另一个窗口的用户请求,例如按下一个按钮,他就会向主窗口发送一个命令消息。

控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的滚动条都会产生通知消息。 她类似于命令消息,当用户与控件窗口交互时,那么控件通知消息就会从控件窗口发送到它的主窗口。但是这种消息的存在并不是为了处理用户命令,而是为了让主窗口能够改变控件,例如加载、显示数据。例如按下一个按钮,他向父窗口发送的消息也可以看作是一个控件通知消息;单击鼠标所产生的消息可以由主窗口直接处理,然后交给控件窗口处理。

其中窗口消息及控件通知消息主要由窗口类即直接或间接由CWND类派生类处理。相对窗口消息及控件通知消息而言,命令消息的处理对象范围就广得多,它不仅可以由窗口类处理,还可以由文档类,文档模板类及应用类所处理。

由于控件通知消息很重要的,人们用的也比较多,但是具体的含义往往令初学者晕头转向,所以我决定把常见的几个列出来供大家参考:

按扭控件

BN_CLICKED    用户单击了按钮

BN_DISABLE 按钮被禁止

BN_DOUBLECLICKED 用户双击了按钮

BN_HILITE  用/户加亮了按钮

BN_PAINT 按钮应当重画

BN_UNHILITE 加亮应当去掉

组合框控件

CBN_CLOSEUP 组合框的列表框被关闭

CBN_DBLCLK 用户双击了一个字符串

CBN_DROPDOWN 组合框的列表框被拉出

CBN_EDITCHANGE 用户修改了编辑框中的文本

CBN_EDITUPDATE 编辑框内的文本即将更新

CBN_ERRSPACE 组合框内存不足

CBN_KILLFOCUS 组合框失去输入焦点

CBN_SELCHANGE 在组合框中选择了一项

CBN_SELENDCANCEL 用户的选择应当被取消

CBN_SELENDOK 用户的选择是合法的

CBN_SETFOCUS 组合框获得输入焦点

编辑框控件

EN_CHANGE 编辑框中的文本己更新

EN_ERRSPACE 编辑框内存不足

EN_HSCROLL 用户点击了水平滚动条

EN_KILLFOCUS 编辑框正在失去输入焦点

EN_MAXTEXT 插入的内容被截断

EN_SETFOCUS 编辑框获得输入焦点

EN_UPDATE 编辑框中的文本将要更新

EN_VSCROLL 用户点击了垂直滚动条消息含义

列表框控件

LBN_DBLCLK 用户双击了一项

LBN_ERRSPACE 列表框内存不够

LBN_KILLFOCUS 列表框正在失去输入焦点

LBN_SELCANCEL 选择被取消

LBN_SELCHANGE 选择了另一项

LBN_SETFOCUS 列表框获得输入焦点

未完(待续...)

上一页  1 2 

Tags:深度 解析 VC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接