가취공부하자

[MFC] 메시지 핸들러 예제 본문

카테고리 없음

[MFC] 메시지 핸들러 예제

keepGGoing 2022. 5. 19. 22:53

잘 안보이지만... 화면을 4등분해서 각 "줄"에 문장을 출력해보기 예제

 

1. 윈도우 어플리케이션 크기를 알아야 한다. 크기를 알기 위해선 WM_SIZE에 호출되는 OnSize함수를 통해 알수있다.

(OnSize함수는 클래스 마법사 통해서 생성)   OnDraw와 어플리케이션 크기 값을 공유하기 위해 public 변수를 사용.(w_size)

- public 변수 선언 : MFCTEST1View.h 에 public : CSize w_size 선언.

void CMFCTEST1View::OnSize(UINT nType, int cx, int cy)
{
	CView::OnSize(nType, cx, cy);
	//여기서 CX,CY는 윈도우 어플리케이션 높이, 넓이 값

	w_size.cx = cx;
	w_size.cy = cy;
}

2. OnDraw함수가 데이터 가져와 출력

void CMFCTEST1View::OnDraw(CDC* pDC)
{
	CMFCTEST1Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;
       
     // 문자 가운데 정렬하기 위해서
	pDC->SetTextAlign(TA_CENTER);
	pDC->TextOutW(w_size.cx/ 2, w_size.cy/4, _T("나는야 초보자 초보자"));
	pDC->TextOutW(w_size.cx / 2, w_size.cy / 4 *2, _T("Hello World Hello World"));
	pDC->TextOutW(w_size.cx / 2 , w_size.cy / 4*3, _T("FlowerMoon FlowerMoon"));

}