关于WM_NOTIFY消息的那些事
子窗口接收的消息都发给父窗口处理,但是我们也可以通过消息反射机制,父窗口将接收到的子窗口消息返还给子窗口自己处理,对于ListView控件来说,会接收到鼠标单击和双击消息,可是无法接收DOWN和UP这样的鼠标消息,而我现在想让子窗口控件处理鼠标左键(右键)按下和松开的消息,该如何处理呢?
补充一下:
因为子窗口不会向父窗口发送这样的消息,所以也就无法使用消息反射机制了,我在线,难道在父窗口接收的鼠标左键(右键)按下和松开的消息时,将该消息发送给子窗口?
想不明白,还望大家多多的发表一下自己的看法!
[解决办法]
这种情况一般用重写窗口过程的方式来实现.
[解决办法]
哦, 叫窗口子类化.
[解决办法]
ListView 控件可以收到鼠标按下消息的呀.
你从 MFC 的 CListView 继承一个 MyListView 类, 然后在里面添加鼠标按下的消息处理. 最后, 把你控件在对话框类的变量类型换成 MyListView 类型就可以了.
[解决办法]
WM_LBUTTONDOWN 这种消息不属于 WM_NOTIFY 里面的.
是原始的鼠标坐标位置那种, 不是控件的哪一列上按下那种.
[解决办法]
2楼所说,窗口子类可以。自己写listview控件的窗口过程函数。
[解决办法]
SetWindowLong以及GetWindowLong,来改变窗口的WinProc,可以处理任何窗口的任何消息。