我使用vc++ API编程,我想做一个类似按钮的窗口,怎样响应鼠标在窗口区域内或不在的消息?
我响应了WM_MOUSEMOVE消息,更改设置后我想让窗口重新绘图。分别使用了SendMessage(hWnd,WM_PAINT,wParam,lParam);和Upda...
我响应了WM_MOUSEMOVE消息,更改设置后我想让窗口重新绘图。
分别使用了
SendMessage(hWnd,WM_PAINT,wParam,lParam);和
UpdateWindow(hWnd);
都不成功,
还有我如何响应鼠标不在窗口区域内的消息呢?我设置了响应WM_NCMOUSEMOVE消息,但这个消息就从来没有被发送过。
我已经使用
RECT rectMain;
GetClientRect(hWnd,&rectMain);
InvalidateRect(hWnd,&rectMain,false);
方法解决了重绘新窗口的工作。
但如获获得鼠标离开窗口的消息呢?
WM_NCMOUSEMOVE消息总是不被触发,我的窗口是一个子窗口(不是MDI)。 展开
分别使用了
SendMessage(hWnd,WM_PAINT,wParam,lParam);和
UpdateWindow(hWnd);
都不成功,
还有我如何响应鼠标不在窗口区域内的消息呢?我设置了响应WM_NCMOUSEMOVE消息,但这个消息就从来没有被发送过。
我已经使用
RECT rectMain;
GetClientRect(hWnd,&rectMain);
InvalidateRect(hWnd,&rectMain,false);
方法解决了重绘新窗口的工作。
但如获获得鼠标离开窗口的消息呢?
WM_NCMOUSEMOVE消息总是不被触发,我的窗口是一个子窗口(不是MDI)。 展开
3个回答
展开全部
你可以新建一个自己的按钮类,然后在类中加入WM_MouseMove消息响应函数,在子窗口中直接用这个按钮类就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在WM_MOUSEMOVE中执行_TrackMouseEvent这个API,这样当鼠标移出窗口后就会收到一个WM_MOUSELEAVE消息了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以新建一个自己的按钮类,然后在类中加入WM_MouseMove消息响应函数,在子窗口中直接用这个按钮类就
参考资料: 我使用vc++ API编程,我想做一个类似按钮的窗口,怎样响应鼠标在窗口区域内或不在的消息?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询