유용한 정보

[MFC]마우스 드래그에 의한 윈도우 이동

DevReff 2024. 12. 26. 21:16




728x90
반응형

void CDownloadDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(m_rcTitle.PtInRect(point))
{
m_bMouseDown = true;
SetCapture();
// 타이틀바를 클릭한 상태에서 다이얼로그를 이동하기 위한 시작 포인터 설정
m_ptMouseDown = point;
}
else
m_bMouseDown = false;

CDialog::OnLButtonDown(nFlags, point);
}

void CDownloadDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_bMouseDown = false;
ReleaseCapture();

CDialog::OnLButtonUp(nFlags, point);
}

void CDownloadDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnMouseMove(nFlags, point);
if(m_bMouseDown)
{
CSize s = m_ptMouseDown - point;
GetWindowRect(&m_rcWindow);
m_rcWindow = s - &m_rcWindow;
MoveWindow(m_rcWindow);
}
}

출처: https://use1348.tistory.com/37 [유용한 정보:티스토리]