MFC鼠标移入移出
void CMFCApplication3Dlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (!m_bTracked)
{
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(tme);
tme.dwFlags = TME_LEAVE;
tme.dwHoverTime = 0;
tme.hwndTrack = m_hWnd;
TrackMouseEvent(&tme); // 调用函数
m_bTracked = TRUE; // 标记鼠标进入窗口
Invalidate(FALSE);
//[....]鼠标操作
}
else
CDialogEx::OnMouseMove(nFlags, point);
}
void CMFCApplication3Dlg::OnMouseLeave()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_bTracked = FALSE; // 标记鼠标离开窗口
Invalidate(FALSE);
CDialogEx::OnMouseLeave();
}