Windows Programming

창의 임의의 위치 클릭&드래그해서 창 이동시키기

오즈마스터 2008. 2. 15. 14:03

 

// 창의 꼭대기서부터 밑으로 27픽셀까지 클릭&드래그 하면 윈도우가 이동함.
LRESULT CMyDlg::OnNcHitTest(CPoint point)
{
 // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
 CPoint pt = point;
 ScreenToClient(&pt);
 CRect rect;
 GetWindowRect(rect);
 RECT rcTitleBar = { 0, 0, rect.Width(), 27 };

 if( ::PtInRect(&rcTitleBar, pt) == TRUE )
 {
  CDialog::OnNcHitTest(point);
  return HTCAPTION;
 }
 else
  return CDialog::OnNcHitTest(point); 
}