Programming/MFC

Example 2 : Mouse Event

부풍 2009. 8. 27. 15:27

CEx2View.h

	CRect m_rectToDraw;
	int m_nColorList[3];
	int m_nCurrentColor;

CEx2View::OnInitialUpdate

void CEx2View::OnInitialUpdate()
{
	CView::OnInitialUpdate();
 
	// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
	m_nCurrentColor = 0;
	m_nColorList[0] = WHITE_BRUSH;
	m_nColorList[1] = DKGRAY_BRUSH;
	m_nColorList[2] = BLACK_BRUSH;
	m_rectToDraw = CRect(10, 10, 110, 110);
}

CEx2View::OnDraw

void CEx2View::OnDraw(CDC* pDC)
{
	CEx2Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;
 
	// TODO: 여기에 원시 데이터에 대한 그리기 코드를 추가합니다.
	pDC->SelectStockObject(m_nColorList[m_nCurrentColor]);
	pDC->Rectangle(m_rectToDraw);
}

WM_LBUTTONDOWN

void CEx2View::OnLButtonDown(UINT nFlags, CPoint point)
{
	// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
 
	if (m_rectToDraw.PtInRect(point)) {
		m_nCurrentColor = (m_nCurrentColor + 1) % 3;
		InvalidateRect(m_rectToDraw);
	}
	//CView::OnLButtonDown(nFlags, point);
}