MFC 窗口无边框实现拖拽功能

如果窗口无边框的话,是无法对其进行拖拽的,需要我们对窗口添加一个事件,如下所示:

                      MFC 窗口无边框实现拖拽功能_第1张图片

还需要添加消息映射:

 MFC 窗口无边框实现拖拽功能_第2张图片MFC 窗口无边框实现拖拽功能_第3张图片

当用户在窗口客户区按下鼠标左键时,使Windows认为鼠标是在标题条上,即在处理WM_LBUTTONDOWN消息的处理函数OnLButtonDown中发送一个wParam参数为HTCAPTION,lParam为当前坐标的WM_NCLBUTTONDOWN消息。

void CxxxxDialog::OnLButtonDown(UINT nFlags, CPoint point) 
{
    // TODO: Add your message handler code here and/or call default
    PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x, point.y));
    CDialog::OnLButtonDown(nFlags, point);
}

你可能感兴趣的:(MFC,无边框窗口拖拽)