CView 클래스
CLyraView 클래스는 CView 클래스를 상속받은 것이다. 뷰 클래스의 영역을 설명하기 위해 예를 들겠다.
우리가 잘 쓰는 메모장에서 실제 우리가 텍스트를 쓰는 하얀 영역을 말한다.
메시지 매핑
BEGIN_MESSAGE_MAP(CDEMO1View, CView)
//{{AfX_MSG_MAP(CDEMO1View)
ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW,
CView::OnFilePrintPreview)
END_MESSAGE_MAP()
생성자 함수
CDEMO1View::CDEMO1View()
{
// TODO: add construction code here
}
소멸자 함수
CDEMO1View::~CDEMO1View()
{
}
함수 OnDraw안에 화면에 뿌려 줄 기능을 추가하면 된다. 화면에 출력할 여러 정보는 CDocument 클래
스에 추가한다고 앞 페이지에서 설명했다.
void CDEMO1View::OnDraw(CDC* pDC)
{
일단 도큐먼트와 연결을 한다.
CDEMO1Dov* pDoc = GetDocument();
ASSERT_VALID라는 함수는 pDoc가 활성화되어 있는 것을 보증하는 함수이다. 즉, 프로그램이 실행되다가
오류가 발생하여 링크가 되지 않아 도큐먼트를 받지 못하면 pDoc가 null값이 되므로 '응용 프로그램 에
러'라는 메시지를 출력하고 프로그램을 종료하라는 뜻이다.
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
프린팅 미리보기 기능을 수행하는 함수이다. 이 기능은 프로젝트 시작시 AppWizard 4단계에서 Printing
and Print Preview 옵션을 선택했기 때문이다.
BOOL CDEMO1View::OnPreparePrinting(CPrintInfo* pInfo)
{
//default preparation
return DOPreparePrinting(pInfo);
}
//프린팅하는 함수
void CDEMO1View::OnBeginPrinting(CDC* /*pDC*/,
CPrintInfo* /*pInfo*/)
{
//TODO: add extra initialization before printing
}
//프린팅이 끝났을 때 사용하는 함수
void CDEMO1View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
//TODO: add cleanup after printing