关于NMHDR[转载]

来源:百度文库 编辑:神马文学网 时间:2024/04/28 03:08:54

关于NMHDR[转载]

默认分类   2007-04-13 15:06   阅读532   评论0   字号:    

WM_NOTIFY消息在lParam参数中携带着指向NMHDR结构的指针,NMHDR定义如下:
typedef struct tagNMHDR {
    HWND hwndFrom;
    UINT idFrom;
    UINT code;
} NMHDR;

hwndFrom是发送通知消息的窗口句柄。对属性页来说,就是属性页窗口。如果是控件发送通知的话,idFrom就是控件ID。最后一个code域包含的是通知码。虽然这个基本结构没有包含任何更多的信息,但它几乎总是可以扩展的,可以使用附加域来扩展它。通知码指出有什么样的附加域附加到了该通知结构里。

不同的控件,不同的消息可能需要传递的信息不同。
结构NMHDR包含最基本的信息,其他不同的结构都是以NMHDR为基础,在后面附加各自的信息。
你通过结构的命名,可以知道这个结构是用于哪个控件的。
如NMLISTVIEW显然是用于ListView,NMTREEVIEW 显然是用于TreeView。

所以,要判断转成哪一种形式,就要知道是针对的哪个控件,哪个消息