본문 바로가기

Application Dev./C++/MFC

DrawText() 함수

nt DrawText( HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat );


lpString 출력할 문자열
nCount  어디까지 출력할것인지
lpRect   지정한 사각형틀 안에서
uFormat DWORD표 참조

DrawText의 4번째 인수는 이 구조체의 포인터이며 문자열이 출력될 사각 영역을 지정한다. 첫번째 인수는 물론 hdc이며 두번째 인수가 출력할 문자열, 세번째 인수는 출력할 문자열의 길이이되 이 값이 -1이면 널 종료 문자열로 간주한다. 다섯 번째 인수 uFormat은 DrawText 함수가 문자열을 출력할 방법을 지정하는 플레그이다.

설명
DT_LEFT 수평 왼쪽 정렬한다.
DT_RIGHT 수평 오른쪽 정렬한다.
DT_CENTER 수평 중앙 정렬한다.
DT_BOTTOM 사각 영역의 바닥에 문자열을 출력한다.
DT_VCENTER 사각 영역의 수직 중앙에 문자열을 출력한다.
DT_WORDBREAK 사각영역의 오른쪽 끝에서 자동 개행되도록 한다.
DT_SINGLELINE 한줄로 출력한다.
DT_NOCLIP 사각 영역의 경계를 벗어나도 문자열을 자르지 않고 그대로 출력한다.


사용예제

RECT rt={100,100,400,300};
char str[]="님은 갔습니다. 아아 사랑하는 나의 님은 갔습니다. 푸른 산빛을 "
 "깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서 차마 떨치고 갔습니다."
 "황금의 꽃같이 굳고 빛나던 옛 맹세는 차디찬 티끌이 되어 한숨의 미풍에"
 "날아갔습니다.";
DrawText(hdc,str,-1,&rt,DT_CENTER | DT_WORDBREAK);