基于CTreeViewCtrl写了一个自己的树控件,需要自己处理左键的单击事件,用MSG_WM_LBUTTONDOWN宏实现。
但是在我对左键单击事件处理后,并没有进行默认的处理,于是左键单击的许多功能没有了。看了一下MSG_WM_LBUTTONDOWN的源代码,它总是SetMsgHandled(TRUE),这样_ProcessWindowMessage将返回TRUE,消息就不会继续传递,所以得不到默认的处理。
改头文件,自己写一个MSG_WM_LBUTTONDOWN的另一版本?显然这不是一个好办法,实际上可以在自己的消息处理函数中调用SetMsgHandled(false),这样消息会被传递给消息映射链中的其他响应者。
阅读(1725) | 评论(0) | 转发(0) |