----view.cpp
void CReDrawDemoView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 여기에 메시지 처리기 코드를 추가합니다.
// 그리기 메시지에 대해서는 CView::OnPaint()을(를) 호출하지 마십시오.
dc.TextOut(100, 200, _T("안녕하세요"));
}
----view.cpp
void CReDrawDemoView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CClientDC dc(this);
dc.TextOut(point.x, point.y, _T("Hello World"));
CView::OnLButtonDown(nFlags, point);
}
----view.h
// 특성입니다.
public:
CReDrawDemoDoc* GetDocument() const;
----view.cpp
void CReDrawDemoView::Draw(int x, int y, CDC* pDC) {
pDC->TextOut(x, y, _T("안녕하세요"));
}
void CReDrawDemoView::OnPaint() // 항상 나오는 곳
{
CPaintDC dc(this); // device context for painting
// TODO: 여기에 메시지 처리기 코드를 추가합니다.
// 그리기 메시지에 대해서는 CView::OnPaint()을(를) 호출하지 마십시오.
//dc.TextOut(100, 200, _T("안녕하세요"));
Draw(100, 100, &dc);
}
void CReDrawDemoView::OnLButtonDown(UINT nFlags, CPoint point) // WM_PAINT를 호출하면 사라지는 곳
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CClientDC dc(this);
//dc.TextOut(point.x, point.y, _T("Hello World"));
Draw(point.x, point.y, &dc);
CView::OnLButtonDown(nFlags, point);
}
OnLButtonDown: WM_PAINT를 호출하면 사라짐
윈도우 창의 크기를 조금만 달라져도 관련된 내용이 사라지게 됨
- CPaintDC와 CClientDC의 차이임
ClientDC는 마우스 찍을 때만 동작함
PaintDC는 임시이긴 함