public:
CPoint m_ptItemText;
bool m_bDragFlag;
//---------------------------------------------------------------------------------
CMouseCombiView::CMouseCombiView()
{
m_ptItemText = CPoint(10, 30);
m_bDragFlag = false;
}
//---------------------------------------------------------------------------------
void CMouseCombiView::OnLButtonDown(UINT nFlags, CPoint point)
{
if(point.x >= m_ptItemText.x -16 && point.x <= m_ptItemText.x + 16 &&
m_ptItemText.y >= m_ptItemText.y - 16 && point.y <= m_ptItemText.y +16)
{
// 클릭했으므로 플래그값 트루로
m_bDragFlag = true;
// 윈도우 다시그리기
RedrawWindow();
}
CView::OnLButtonDown(nFlags, point);
}
void CMouseCombiView::OnLButtonUp(UINT nFlags, CPoint point)
{
if(m_bDragFlag)
{
m_bDragFlag = false;
m_ptItemText = point;
RedrawWindow();
}
CView::OnLButtonUp(nFlags, point);
}
void CMouseCombiView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CView::OnLButtonDblClk(nFlags, point);
}
void CMouseCombiView::OnPaint()
{
CPaintDC dc(this); // device context for painting
if(m_bDragFlag)
dc.TextOutW(10, 10, _T(" Drag "));
else
dc.TextOutW(10, 10, _T("......"));
dc.TextOut(m_ptItemText.x, m_ptItemText.y, _T(" 내 컴퓨터 "));
}
void CMouseCombiView::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bDragFlag)
{
m_ptItemText = point;
RedrawWindow();
}
CView::OnMouseMove(nFlags, point);
}
//---------------------------------------------------------------------------------
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
[Event] 오른쪽 마우스버튼으로 여는 컨텍스트 메뉴 (0) | 2011.01.12 |
---|---|
[Edit] CEdit Controller 의 사용법 (0) | 2011.01.12 |
[Etc] 링크(Link) 컨트롤 (0) | 2011.01.12 |
[MFC 연습] LogonDemo 연습 (0) | 2011.01.12 |
[Dialog] 창 종료하기(Alt+F4) (0) | 2010.11.23 |
댓글