void CLoginDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(m_bIsLButtonDown)
{
CRect rect;
GetClientRect(&rect);
ClientToScreen(&point);
MoveWindow(point.x-m_curPoint.x,point.y-m_curPoint.y,rect.right,rect.bottom,FALSE);
}
CDialog::OnMouseMove(nFlags, point);
}
void CLoginDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_bIsLButtonDown = TRUE;
m_curPoint = point;
SetCapture(); //这句很重要,不然会出现由于鼠标滑动太快而让窗口失去焦点的BUG。
CDialog::OnLButtonDown(nFlags, point);
}
void CLoginDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_bIsLButtonDown = FALSE;
ReleaseCapture(); //最后记得要释放哦!
CDialog::OnLButtonUp(nFlags, point);
}
MFC如何用正确的方式来实现鼠标移动对话框。
最新推荐文章于 2023-04-27 15:57:42 发布