TrackMouseEvent
一个用来判断鼠标是否在其上面或者离开的函数,
在MouseMove中调用,然后以会发送两个自定义消息OnMouseLeave和OnMouseHover,
在MouseMove中可以大概这么写:
if (!m_tracking)
{
TRACKMOUSEEVENT t = {
sizeof(TRACKMOUSEEVENT),
TME_LEAVE,
m_hWnd,
};
if (::_TrackMouseEvent(&t))
{
//TRACE(“* Mouse enter\n”);
m_tracking = true;
Invalidate();
}
}
添加MouseLeave消息写法:
afx_msg LRESULT OnMouseLeave(WPARAM, LPARAM);
ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)
LRESULT CxSkinButton::OnMouseLeave(WPARAM, LPARAM)
{
}