一 移动的时候 没有 虚线的 边框
void CTransparentDialogDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
SetCapture();
CRect rW;
GetWindowRect(rW);
CPoint ptW = point;
ClientToScreen(&ptW);
m_ptCursorOffset.x = ptW.x - rW.left;
m_ptCursorOffset.y = ptW.y - rW.top;
CDialog::OnLButtonDown(nFlags, point);
}
if ((nFlags & MK_LBUTTON) && (this == GetCapture()))
{
CPoint ptW = point;
ClientToScreen(&ptW);
ptW.x -= m_ptCursorOffset.x;
ptW.y -= m_ptCursorOffset.y;
::SetWindowPos(m_hWnd, 0,ptW.x,ptW.y,0,0,SWP_NOSIZE); // 设置的是 屏幕坐标
}
void CTransparentDialogDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ReleaseCapture();
CDialog::OnLButtonUp(nFlags, point);
}
--------------------------------------------
第二种方法 这种方法是发送消息的方式
void CkaishiDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
SendMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
PostMessage(WM_LBUTTONUP,NULL,MAKELPARAM(point.x,point.y));
CDialog::OnLButtonDown(nFlags, point);
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。