MFC鼠标移入移出操作

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();
}

猜你喜欢

转载自blog.csdn.net/weixin_44478077/article/details/127048425