[MFC] CView 내부에 CButton 추가한 후에 CButton을 클릭한 위치로 이동(MoveWindow) 시키기.
MFC&ActiveX 2007. 12. 16. 23:20 |버튼을 CView에 추가..
m_Button.Create("", WS_CHILDWINDOW, CRect(50, 100, 150, 200), this, 1001);
m_Button.ShowWindow(SW_SHOW);
그리고 버튼 내부에 클릭 이벤트를 통해서 해당 위치에 버튼을 MoveWindow 시켜보자.
void CGButton::OnLButtonUp(UINT nFlags, CPoint point)
{
CPoint curpos;
// 커서의 스크린 위치를 가져온다.
GetCursorPos(&curpos);
// 부모 객체에서의 스크린 좌표를 클라이언트 좌표로 바꾼다.
GetParent()->ScreenToClient(&curpos);
// 좌표값을 사용해서 윈도우의 크기를 지정한다.
CRect rt(curpos.x, curpos.y, curpos.x+100, curpos.y+100);
// 자신 객체를 이동시킨다.
MoveWindow(&rt);
CButton::OnLButtonUp(nFlags, point);
}
이 코드가 완성되었으니. 클릭후 드래그로 컨트롤을 View에서 이동가능할듯 하다. ^^
(아마도 다 아는거겠지만. 요즘 mfc에 대해서 조금씩 방법적인 면이 늘어 나는거 같다.)