鼠标的移入消息,可以使用mousemove就可以知道了。
//定义一个变量m_bTracking,初始化为false.
public:
BOOL m_bTracking;
//在mousemove中加上下面代码。
void CTreeList::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if (!m_bTracking) //鼠标轨迹跟踪
{
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(tme);
tme.hwndTrack = m_hWnd;
tme.dwFlags = TME_LEAVE | TME_HOVER; //抓取鼠标离开和鼠标停靠消息
tme.dwHoverTime = 1;
m_bTracking = _TrackMouseEvent(&tme);
}
}
//为程序添加鼠标移出消息
ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)//鼠标离开
ON_MESSAGE(WM_MOUSEHOVER, OnMouseHover)//鼠标悬挂
//添加函数
afx_msg void OnMouseLeave(WPARAM wParam, LPARAM lParam);//鼠标离开
afx_msg void OnMouseHover(WPARAM wParam, LPARAM lParam);//鼠标悬挂
//编写函数
void CTreeList::OnMouseLeave(WPARAM wParam, LPARAM lParam)//鼠标离开
{
m_bTracking = FALSE;//复位鼠标追踪标志
}
void CTreeList::OnMouseHover(WPARAM wParam, LPARAM lParam)//鼠标悬挂
{
}