C++ MFC 에서의 Picture Control 드래그 방법 기초
조회수 2252회
Picture control m_pic을 CRect 형태로 받아와서 해당 좌표 내 마우스 클릭 후 Mouse Move 시 m_pic의 좌표를 갱신하고 RedrawWindow(); 를 사용하여 다시 그려주도록 했는데 미동도 안하고 안보이는곳에 좌표만 움직이네요 ㅠ Picture Control 이 이동할 방법은 없나요 답변 주시면 감사드리겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
마우스 클릭 이벤트에서 아래와 같이 구현해보세요
void OnLButtonDown(UINT nFlags, CPoint point) { CRect rc; m_Pic.GetClientRect(&rc); rc.MoveToXY(point); m_Pic.MoveWindow(rc); }
드래그 할 때 움직이도록 하려면 LButtonDown Event에서 bDragFlag 를 true로 변경하고, MouseMove Event에서 bDragFlag 값이 true 일 때 위에 있는 코드로 m_Pic의 위치를 변경하도록 하고, LButtonUp 에서 bDragFlag를 다시 false 로 셋팅하도록 구현하시면 됩니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력