본문 바로가기

마우스 입력2

MFC-마우스입력( 드래그 & 드랍 ) 마우스 입력을 활용하여, 드래그 & 드랍의 기능을 구현해 보자. 또한 마우스가 윈도우에서 벗어 났을 때 어떻게 확인 해야 할지에 대해서도 하나씩 알아 보자. 기본 적으로 드래그 & 드랍을 생성하기 위해서는, 3가지의 WM메시지가 필요 하다.( 마우스 왼쪽 버튼을 사용한다고 하였을 때 ) 1. LBUTTONDOWN 2. MOUSEMOVE 3. LBUTTONUP 다음의 3가지 WM메시지를 메시지탭에서 추가한다. 기본적인 드래그 & 드랍의 구조는 마우스 왼쪽 버튼이 눌리면(LBUTTONDOWN) 그 위치에 있는 대상과 위치를 검사하여, 왼쪽 버튼이 눌려 있는 부분이 대상의 위치와 일치 한다면, 특정 플래그를 On(true)시키고, 마우스가 움직였을 때(MOUSEMOVE) 특정 플래그가 On(true)라면 마우.. 2010. 5. 16.
MFC-마우스 입력 MFC에서 마우스 입력에 대해서 알아보자. 기존의 API의 WM_MOUSEMOVE라던가, WM_LBUTTONDOWN등을 mfc에서는 그대로 함수를 추가해 하면된다. 특별히 달라진건 존재 하지 않는거 같다. 예제를 통해서 하나씩 살펴보자. View에서 WM_MOUSEMOVE를 추가 하게 되면 마우스가 이동할 때 마다 OnMouseMove() 함수에 들르게 된다. UINT 타입의 nFlags와, CPoint를 인자로 받아 오게 되는데, nFlags는 현재 마우스 입력( 버튼 클릭 )에 대해서 CPoint는 마우스의 X,Y좌표를 가지고 있다. if( (nFlags & MK_LBUTTON) == MK_LBUTTON && (nFlags & MK_RBUTTON) == MK_RBUTTON ) { m_ptMouse =.. 2010. 5. 16.