-
글꼴과 문자열 출력MFC 2025. 4. 14. 20:29
글꼴과 문자열 출력
- 문자열은 그려지는 것으로 이해할 수 있음
- MBCS와 Unicode 환경을 반드시 고려
- 응용 프로그램 수준에서 글꼴을 일치시키려면 렌더링 전에 미리 전역 객체로 생성해두는 것이 바람직
- 핵심 함수
- TextOut()
- TabbedTextOut()
- DrawText()
dc.SetBkMode(TRANSPARENT); dc.SetBkColor(RGB(255, 0, 0)); dc.TextOut(50, 300, _T("Hello World"));
SetBkColor는 텍스트의 배경색을 의미한다. 단, SetBkMode가 OPAQUE일때만 적용 가능하다.
CFont fnt; LOGFONT lf = { 0 }; lf.lfHeight = 36; // 글자 크기 wsprintf(lf.lfFaceName, TEXT("%s"), TEXT("Arial")); // 글꼴 이름 fnt.CreateFontIndirect(&lf); // 글꼴 생성 dc.SelectObject(&fnt); // 글꼴 선택
글꼴을 만드는 코드이다. lf를 0으로 초기화해놓고, 글자 크기를 설정한다.
void CPenSampleView::OnPaint() { CPaintDC dc(this); // device context for painting //배경 CRect rect(50, 50, 250, 100); dc.FillSolidRect(&rect, RGB(192, 192, 192)); // 배경색으로 채우기 CFont fnt; LOGFONT lf = { 0 }; lf.lfHeight = 36; // 글자 크기 wsprintf(lf.lfFaceName, TEXT("%s"), TEXT("Arial")); // 글꼴 이름 fnt.CreateFontIndirect(&lf); // 글꼴 생성 CFont* pOldFont = dc.SelectObject(&fnt); // DC에 글꼴 선택 dc.SetTextColor(RGB(255, 0, 0)); // 글자 색상 dc.DrawText(TEXT("Hello, MFC!"), &rect, DT_WORDBREAK); // 글자 출력 dc.SelectObject(pOldFont); // DC에 선택된 글꼴 복원 }
LOGFNOT 구조체를 사용해서 글꼴의 속성을 설정한다.
SetTextColor함수로 텍스트의 색상을 빨간색으로 설정할 수 있다.
DrawText() 함수는 텍스트를 사각형 영역 (rect) 안에 그리는 함수이다.
DT_WORDBREAK는 텍스트가 영역에 맞게 줄바꿈 되도록 설정한다.
'MFC' 카테고리의 다른 글
GDI - 고급 (0) 2025.04.16 비트맵 리소스 다루기 (0) 2025.04.15 렌더링 시점과 DC에 대한 이해 , RGB컬러 (0) 2025.04.14 툴바와 상태바 (0) 2025.04.13 팝업 메뉴 (0) 2025.04.09