MFC鼠标OnMouseHover使用
ON_WM_MOUSEHOVER消息要生效,要配合ON_WM_MOUSEMOVE一起使用.代码如下:
voidCYuButton::OnMouseMove(UINTnFlags,CPointpoint){//TODO:在此添加消息处理程序代码和/或调用默认值TRACKMOUSEEVENTtme={0};tme.cbSize=sizeof(TRACKMOUSEEVENT);tme.dwFlags=TME_HOVER|TME_LEAVE;tme.dwHoverTime=50;tme.hwndTrack=this->m_hWnd;if(TrackMouseEvent(&tme)){}CWnd::OnMouseMove(nFlags,point);}
voidCYuButton::OnMouseHover(UINTnFlags,CPointpoint){//TODO:在此添加消息处理程序代码和/或调用默认值m_bIsDown=TRUE;Invalidate();CWnd::OnMouseHover(nFlags,point);}
以上是鼠标放在控件上时的消息响应.鼠标离开控件直接处理ON_WM_MOUSELEAVE消息,如:
voidCYuButton::OnMouseLeave(){//TODO:在此添加消息处理程序代码和/或调用默认值m_bIsDown=FALSE;Invalidate();CWnd::OnMouseLeave();}
也可同时处理失去焦点消息ON_WM_KILLFOCUS,如下:
voidCYuButton::OnKillFocus(CWnd*pNewWnd){CWnd::OnKillFocus(pNewWnd);m_bIsDown=TRUE;Invalidate(TRUE);}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。