曲径通幽论坛

标题: WM_NOTIFY 消息 [打印本页]

作者: beyes    时间: 2012-2-2 00:19
标题: WM_NOTIFY 消息
当一个子窗口被用户操作时,该子窗口会向父窗口发送 WM_NOTIFY 通知。

WM_NOTIFY 消息的 lParam 参数是一个指向 NMHDR 结构的指针,该结构的定义如下:
[C++] 纯文本查看 复制代码
typedef struct tagNMHDR { 
  HWND hwndFrom;
  UINT idFrom;
  UINT code;
}

第 1 个成员 hwndFrom 是向父窗口发送此消息的子窗口句柄。
第 2 个成员 idFrom 是窗口的标识符。
第 3 个成员 code 表示进行了哪种操作,比如 NM_RCLICK 表示右键单击,NM_SETFOCUS 表示获得焦点,NM_KEYDOWN 表示键盘按键等。

下图所示了一个父窗口和一个子窗口,该子窗口是个 Tree View 控件:
[attach]198[/attach]

比如在子窗口的树上点击右键时会向父窗口发送 WM_NOTIFY 消息:
[attach]199[/attach]
那么在消息处理函数里可以针对该消息进行处理,如上图所示,使右键单击可以弹出一个右键菜单,当然弹出的菜单以及菜单中所含的内容都需要一系列函数来完成。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2