_TrackMouseEvent

转载 2015年07月21日 08:00:56

_TrackMouseEvent

博客分类: VC
Windows
_TrackMouseEvent
默认情况下,窗口是不响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息的,所以要使用 _TrackMouseEvent函数来激活这两个消息。调用这个函数后,当鼠标在指定窗口上停留超过一定时间或离开窗口后,该函数会 Post 这两个消息到指定窗口。

使用方法:

  1. 在对话框类中定义一个变量来标识是否追踪当前鼠标状态,之所以要这样定义是要避免鼠标已经在窗体之上时,一移动鼠标就不断重复产生 WM_MOUSEHOVER 。
    BOOL _bMouseTrack=TRUE ;

  2. 在 OnMouseMove 中调用 _TrackMouseEvent 函数
    if (_bMouseTrack) // 若允许 追踪,则。
    {
    TRACKMOUSEEVENT csTME;
    csTME.cbSize = sizeof (csTME);
    csTME.dwFlags = TME_LEAVE|TME_HOVER;
    csTME.hwndTrack = m_hWnd ;// 指定要 追踪 的窗口
    csTME.dwHoverTime = 10; // 鼠标在按钮上停留超过 10ms ,才认为状态为 HOVER
    ::_TrackMouseEvent (&csTME); // 开启 Windows 的 WM_MOUSELEAVE , WM_MOUSEHOVER 事件支持
    _bMouseTrack=FALSE ; // 若已经 追踪 ,则停止 追踪
    }

  3. 在 OnMouseLeave 中再次允许追踪鼠标状态
    _bMouseTrack=TRUE ;

  4. 备注:这两个消息的映射要自己写
    ON_MESSAGE(WM_MOUSEHOVER,OnMouseHover)
    ON_MESSAGE(WM_MOUSELEAVE,OnMouseLeave)

_TrackMouseEvent的用法

Normal 0 7.8 磅 0 2 false false false Microsof...
  • FlowShell
  • FlowShell
  • 2009年10月11日 22:10
  • 2777

[Win32SDK基本]WM_MOUSELEAVE消息和TrackMouseEvent

WM_MOUSELEAVE这个消息很有意思,它是鼠标指针离开窗口时发送的,但是它每一次发送都必须用TrackMouseEvent注册一次。 如果想自绘制窗口控件(比如按钮),使用WM_MOUSELEA...
  • zuishikonghuan
  • zuishikonghuan
  • 2015年06月17日 13:45
  • 2075

_TrackMouseEvent 与 WIN32 ToolTip

一、_TrackMouseEvent 默认情况下,窗口是不响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息的,所以要使用_TrackMouseEvent函数来激活这两个消息。调...
  • harvic880925
  • harvic880925
  • 2013年08月06日 19:39
  • 3882

TrackMouseEvent与_TrackMouseEvent

函数功能:当在指定时间内鼠标指针离开或盘旋在一个窗口上时,此函数寄送消息。   函数原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);...
  • jiangqin115
  • jiangqin115
  • 2015年05月20日 17:23
  • 524

TrackMouseEvent &

CMyButton 中用到的几个Windows API  TrackMouseEvent   函数功能:当在指定时间内鼠标指针离开或盘旋在一个窗口上时,此函数寄送消息。 ...
  • bigbigtree911
  • bigbigtree911
  • 2012年07月13日 15:13
  • 582

TrackMouseEvent

TrackMouseEvent函数在鼠标离开某一窗口或在某一窗口上停留超过某一特定时间长度时发送消息。其函数原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEv...
  • hczhiyue
  • hczhiyue
  • 2011年03月24日 22:21
  • 442

TrackMouseEvent用法

如何响应鼠标离开某个窗体(控件)事件?
  • zhousunmuhua
  • zhousunmuhua
  • 2014年07月21日 10:28
  • 511

TrackMouseEvent介绍

TrackMouseEvent函数TrackMouseEvent函数在鼠标离开某一窗口或在某一窗口上停留超过某一特定时间长度时发送消息。其函数原型:BOOL TrackMouseEvent(LPTRA...
  • babyyang1213
  • babyyang1213
  • 2009年08月27日 01:10
  • 1011

TrackMouseEvent函数

TrackMouseEvent函数在鼠标离开某一窗口或在某一窗口上停留超过某一特定时间长度时发送消息。其函数原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEv...
  • AmHuman
  • AmHuman
  • 2008年01月04日 11:01
  • 4063

关于TrackMouseEvent用法总结

对于这个函数我也是最近想研究控件自绘才知道它真正怎么用.以前只是见到过.嗯,废话不多说. 我先说下我的问题:如何响应鼠标离开某个窗体(控件)事件? 先大概讲下步骤,然后再集中对TrackMou...
  • yuanweihuayan
  • yuanweihuayan
  • 2011年09月28日 18:14
  • 6277
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:_TrackMouseEvent
举报原因:
原因补充:

(最多只允许输入30个字)