다이얼로그의 BOrder 속성을 None으로 설정하면 타이틀바가 제거된 다이얼로그를 만들 수 있습니다. 다이얼로그는 타이틀바를 마우스 좌클릭으로 드레그 해야하는데 타이틀 바가 없으니 이동이 불가능합니다. 이때 다이얼로그 영역을 좌클릭해서 드레그 할 수 있게 구현해 보겠습니다.

1. WM_LBUTTONDOWN 메시지 추가
     

왼쪽 마우스를 누른상태에서 드레그를 하기 위해 WM_LBUTTONDOWN 메시지를 추가합니다.

2. 좌클릭시 발생하는 메시지를 보내는 소스코드 추가
     

void XXXX::OnLButtonDown(UINT nFlags, CPoint point)
{
    // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
    SendMessage( WM_NCLBUTTONDOWN, HTCAPTION, 0 );

    CDialog::OnLButtonDown(nFlags, point);
}
SendMessage( WM_NCLBUTTONDOWN, HTCAPTION, 0 ); 왼쪽 마우스를 클릭했을 시 타이틀바 부분을 클릭한 것처럼 인식하게 만든다.

야이노마

» Contact Me: yainoma00@gmail.com




1