我使用vc++ API编程,我想做一个类似按钮的窗口,怎样响应鼠标在窗口区域内或不在的消息?

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:45:51
我响应了WM_MOUSEMOVE消息,更改设置后我想让窗口重新绘图。
分别使用了
SendMessage(hWnd,WM_PAINT,wParam,lParam);和
UpdateWindow(hWnd);
都不成功,
还有我如何响应鼠标不在窗口区域内的消息呢?我设置了响应WM_NCMOUSEMOVE消息,但这个消息就从来没有被发送过。
我已经使用
RECT rectMain;
GetClientRect(hWnd,&rectMain);
InvalidateRect(hWnd,&rectMain,false);
方法解决了重绘新窗口的工作。
但如获获得鼠标离开窗口的消息呢?
WM_NCMOUSEMOVE消息总是不被触发,我的窗口是一个子窗口(不是MDI)。

可以在WM_MOUSEMOVE中执行_TrackMouseEvent这个API,这样当鼠标移出窗口后就会收到一个WM_MOUSELEAVE消息了。

你可以新建一个自己的按钮类,然后在类中加入WM_MouseMove消息响应函数,在子窗口中直接用这个按钮类就可以了.

你可以新建一个自己的按钮类,然后在类中加入WM_MouseMove消息响应函数,在子窗口中直接用这个按钮类就