2010. 3. 29. 10:39 program
[MFC] 타이틀바 없이 다이얼로그 이동하기
타이틀바가 없을 경우 다른 부분을 드래그해도 다이얼로그를 이동하고자 할경우 두가지 방법
1.WM_LBUTTON 의 처리
void CXXDLG::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CPoint pt = point;
ClientToScreen(&pt);
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(pt.x,pt.y));
CDialog::OnLButtonDown(nFlags, point);
}
마우스 버틀을 클릭했을때 타이틀바를 클릭한 메시지를 날려 준다.
2. WM_NCHITTEST 메시지 처리
UINT CXXDLG::OnNcHitTest(CPoint point)
{
return HTCAPTION;
}
1.WM_LBUTTON 의 처리
void CXXDLG::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CPoint pt = point;
ClientToScreen(&pt);
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(pt.x,pt.y));
CDialog::OnLButtonDown(nFlags, point);
}
마우스 버틀을 클릭했을때 타이틀바를 클릭한 메시지를 날려 준다.
2. WM_NCHITTEST 메시지 처리
UINT CXXDLG::OnNcHitTest(CPoint point)
{
return HTCAPTION;
}