判断鼠标是否移到了窗口外

有两种方法了.

第一种就是用WM_TIMER,定时检查鼠标在什么地方.但效率比较低,不建议采用.

第二种就是用TrackMouseEvent.建议使用.具体用法参考MSDN

TRACKMOUSEEVENT event ;
  event.cbSize = sizeof( event );
  event.dwFlags = TME_LEAVE ;
  event.dwHoverTime = 0 ;
  event.hwndTrack = GetSafeHwnd() ;
  
  VERIFY (_TrackMouseEvent( &event )) ;

注意添加WM_MOUSELEAVE消息处理

LRESULT CStatList::OnMouseLeave( WPARAM wParam , LPARAM lParam )
{
rreturn 0 ;
}

ON_MESSAGE( WM_MOUSELEAVE , OnMouseLeave )

 

afx_msg LRESULT OnMouseLeave( WPARAM wParam , LPARAM lParam ) ;

 

阅读更多
文章标签: timer
个人分类: VC上的界面开发
想对作者说点什么? 我来说一句

窗口模式鼠标范围补丁

2009年02月19日 175KB 下载

没有更多推荐了,返回首页

不良信息举报

判断鼠标是否移到了窗口外

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭