Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14498057
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:57:36

下载本文示例代码
  前言   近来,有几个网友发妹儿问了我一些关于WM_NOTIFY通知消息的使用问题,为此,我写了这篇文章,将我对WM_NOTIFY消息的理解阐述如下,希望能对各位有所帮助。  引入WM_NOTIFY消息的原因  1、问题的提出:  在Windows3.x中,不存在WM_NOTIFY消息,控制子窗口的通知消息同菜单的命令消息及加速键消息一样,均使用WM_COMMAND来发送,此时,根据WM_COMMAND消息传递的做法,可知道含有如下的传递结构: wParam high-order : Notify Code :(如TTN_NEEDTEXT)wParam low-order : ControlIDlParam : ControlHandle  使用上述结构进行消息的传递时,如果一个通知消息有一些附加的消息需要发送时(如传递LVN_COLUMNCLICK时可能需要附加传送如点击的是那一列等信息),因为WM_COMMAND仅能传递如上的参数,故无法做到。  2、解决的方案  --Windows 3.x中的解决方案,为这些有附加消息传送要求的通知消息,为它们各自定义了许多特殊的消息。  以WM_DRAWITEM为例:  lParam参数成为指向DRAWITEMSTRUCT结构的指针,DRAWITEMSTRUCT结构如下: typedef struct tagDRAWITEMSTRUCT {UINT CtlType; UINT CtlID; UINT itemID; UINT itemAction; UINT itemState; HWND hwndItem; HDC hDC; RECT rcItem; ULONG_PTR itemData; } DRAWITEMSTRUCT;  这样,就实现了附加参数的传递,类似的做法在Windows3.x中随处可见。  --Windows32中的解决方案,Windows3.x的解决方案各自为政,没有统一性,为了解决这个问题,Window32中引入了一个新的消息,即WM_NOTIFY消息来解决这个问题,它将所有的这些消息采用一个统一的架构进行处理,为了与以前的处理方式兼容,上述那些特殊的消息仍然存在,它们在实质上也是相同的。共2页。 1 2 8 :   前言   近来,有几个网友发妹儿问了我一些关于WM_NOTIFY通知消息的使用问题,为此,我写了这篇文章,将我对WM_NOTIFY消息的理解阐述如下,希望能对各位有所帮助。  引入WM_NOTIFY消息的原因  1、问题的提出:  在Windows3.x中,不存在WM_NOTIFY消息,控制子窗口的通知消息同菜单的命令消息及加速键消息一样,均使用WM_COMMAND来发送,此时,根据WM_COMMAND消息传递的做法,可知道含有如下的传递结构: wParam high-order : Notify Code :(如TTN_NEEDTEXT)wParam low-order : ControlIDlParam : ControlHandle  使用上述结构进行消息的传递时,如果一个通知消息有一些附加的消息需要发送时(如传递LVN_COLUMNCLICK时可能需要附加传送如点击的是那一列等信息),因为WM_COMMAND仅能传递如上的参数,故无法做到。  2、解决的方案  --Windows 3.x中的解决方案,为这些有附加消息传送要求的通知消息,为它们各自定义了许多特殊的消息。  以WM_DRAWITEM为例:  lParam参数成为指向DRAWITEMSTRUCT结构的指针,DRAWITEMSTRUCT结构如下: typedef struct tagDRAWITEMSTRUCT {UINT CtlType; UINT CtlID; UINT itemID; UINT itemAction; UINT itemState; HWND hwndItem; HDC hDC; RECT rcItem; ULONG_PTR itemData; } DRAWITEMSTRUCT;  这样,就实现了附加参数的传递,类似的做法在Windows3.x中随处可见。  --Windows32中的解决方案,Windows3.x的解决方案各自为政,没有统一性,为了解决这个问题,Window32中引入了一个新的消息,即WM_NOTIFY消息来解决这个问题,它将所有的这些消息采用一个统一的架构进行处理,为了与以前的处理方式兼容,上述那些特殊的消息仍然存在,它们在实质上也是相同的。共2页。 1 2 8 : 下载本文示例代码


分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY分析与理解VC的通知消息WM_NOTIFY
阅读(89) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~