DrawTextExA 함수(winuser.h)
DrawTextEx 함수는 지정된 사각형에 서식이 지정된 텍스트를 그립니다.
통사론
int DrawTextExA(
[in] HDC hdc,
[in, out] LPSTR lpchText,
[in] int cchText,
[in, out] LPRECT lprc,
[in] UINT format,
[in] LPDRAWTEXTPARAMS lpdtp
);
매개 변수
[in] hdc
그릴 디바이스 컨텍스트에 대한 핸들입니다.
[in, out] lpchText
그릴 텍스트가 들어 있는 문자열에 대한 포인터입니다. cchText 매개 변수가 -1이면 문자열이 null로 종료되어야 합니다.
dwDTFormat DT_MODIFYSTRING 포함하는 경우 함수는 이 문자열에 최대 4개의 문자를 추가할 수 있습니다. 문자열을 포함하는 버퍼는 이러한 추가 문자를 수용할 수 있을 만큼 커야 합니다.
[in] cchText
[in, out] lprc
텍스트의 서식을 지정할 논리 좌표로 사각형을 포함하는 RECT 구조체에 대한 포인터입니다.
[in] format
서식 옵션입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
텍스트를 사각형 아래쪽으로 맞춥니다. 이 값은 DT_SINGLELINE 값에만 사용됩니다. |
|
사각형의 너비와 높이를 결정합니다. 여러 줄의 텍스트가 있는 경우 DrawTextExlprc 매개 변수가 가리키는 사각형의 너비를 사용하고 사각형의 밑을 확장하여 텍스트의 마지막 줄을 바인딩합니다. 한 줄의 텍스트만 있는 경우 DrawTextEx 직사각형의 오른쪽을 수정하여 줄의 마지막 문자를 경계로 합니다. 두 경우 모두 DrawTextEx 서식이 지정된 텍스트의 높이를 반환하지만 텍스트를 그리지는 않습니다. |
|
직사각형에서 텍스트를 가로로 가운데로 맞춥다. |
|
여러 줄 편집 컨트롤의 텍스트 표시 특성을 복제합니다. 특히 평균 문자 너비는 편집 컨트롤과 동일한 방식으로 계산되며 함수는 부분적으로 표시되는 마지막 줄을 표시하지 않습니다. |
|
표시된 텍스트의 경우 문자열의 끝을 줄임표로 바꿔 결과가 지정된 사각형에 맞도록 합니다. 사각형의 한계를 초과하는 모든 단어(문자열의 끝에 없음)는 줄임표 없이 잘립니다. DT_MODIFYSTRING 플래그를 지정하지 않으면 문자열이 수정되지 않습니다.
DT_PATH_ELLIPSIS 및 DT_WORD_ELLIPSIS 비교합니다. |
|
탭 문자를 확장합니다. 탭당 기본 문자 수는 8개입니다. |
|
줄 높이의 글꼴 외부 선행을 포함합니다. 일반적으로 외부 선행은 텍스트 줄의 높이에 포함되지 않습니다. |
|
텍스트의 앰퍼샌드(&) 접두사 문자를 무시합니다. 뒤에 오는 문자에는 밑줄이 표시되지 않지만 다른 니모닉 접두사 문자는 여전히 처리됩니다.
본보기: 입력 문자열: "&bc&&d" normal: "abc&d" DT_HIDEPREFIX: "Abc&d" DT_NOPREFIX 및 DT_PREFIXONLY 비교합니다. |
|
시스템 글꼴을 사용하여 텍스트 메트릭을 계산합니다. |
|
텍스트를 왼쪽에 맞춥니다. |
|
표시된 텍스트와 일치하도록 지정된 문자열을 수정합니다. DT_END_ELLIPSIS 또는 DT_PATH_ELLIPSIS 지정하지 않으면 이 값은 적용되지 않습니다. |
|
클리핑하지 않고 그립니다. DrawTextEx DT_NOCLIP 사용하는 경우 다소 빠릅니다. |
|
줄 바꿈 규칙이 SBCS 문자열과 같도록 DBCS(이중 너비 문자열)에서 줄 바꿈을 방지합니다. 예를 들어 아이콘 레이블의 가독성을 높이기 위해 한국어 창에서 사용할 수 있습니다. DT_WORDBREAK 지정하지 않으면 이 값은 적용되지 않습니다. |
|
접두사 문자 처리를 해제합니다. 일반적으로 DrawTextEx 앰퍼샌드(&) 니모닉 접두사 문자를 뒤에 있는 문자를 밑줄을 지정하는 지시문으로 해석하고, 이중 앰퍼샌드(&&) 니모닉 접두사 문자를 단일 앰퍼샌드를 인쇄하는 지시문으로 해석합니다. DT_NOPREFIX 지정하면 이 처리가 해제됩니다. DT_HIDEPREFIX 및 DT_PREFIXONLY 비교 |
|
표시된 텍스트의 경우 문자열 중간에 있는 문자를 줄임표로 바꿔 결과가 지정된 사각형에 맞도록 합니다. 문자열에 백슬래시(\\) 문자가 포함된 경우 DT_PATH_ELLIPSIS 마지막 백슬래시 이후의 텍스트를 최대한 많이 유지합니다. DT_MODIFYSTRING 플래그를 지정하지 않으면 문자열이 수정되지 않습니다.
DT_END_ELLIPSIS 및 DT_WORD_ELLIPSIS 비교합니다. |
|
앰퍼샌드(&) 접두사 문자 다음에 있는 문자 위치에 밑줄만 그립니다. 문자열에 문자를 그리지 않습니다.
본보기: 입력 문자열: "&bc&&d" normal: "abc&d" PREFIXONLY: " _ " DT_NOPREFIX 및 DT_HIDEPREFIX 비교합니다. |
|
텍스트를 오른쪽에 맞춥니다. |
|
hdc 선택한 글꼴이 히브리어 또는 아랍어 글꼴인 경우 양방향 텍스트의 오른쪽에서 왼쪽 읽기 순서로 레이아웃합니다. 모든 텍스트의 기본 읽기 순서는 왼쪽에서 오른쪽입니다. |
|
한 줄에만 텍스트를 표시합니다. 캐리지 리턴 및 줄 바꿈은 선을 중단하지 않습니다. |
|
탭 정지를 설정합니다. lpDTParams 매개 변수가 가리키는 DRAWTEXTPARAMS 구조체는 탭 정지당 평균 문자 너비 수를 지정합니다. |
|
텍스트를 사각형의 위쪽에 맞춥니다. |
|
텍스트를 세로로 가운데에 배치합니다. 이 값은 DT_SINGLELINE 값에만 사용됩니다. |
|
단어를 깨뜨립니다. 단어가 lprc 매개 변수로 지정된 사각형의 가장자리를 지나면 단어 사이에 줄이 자동으로 끊어집니다. 캐리지 리턴 라인 피드 시퀀스도 선을 끊습니다. |
|
사각형에 맞지 않는 단어를 잘라내고 줄임표를 추가합니다.
DT_END_ELLIPSIS 및 DT_PATH_ELLIPSIS 비교합니다. |
[in] lpdtp
추가 서식 옵션을 지정하는 DRAWTEXTPARAMS 구조체에 대한 포인터입니다. 이 매개 변수는 NULL
반환 값
함수가 성공하면 반환 값은 논리 단위의 텍스트 높이입니다. DT_VCENTER 또는 DT_BOTTOM 지정한 경우 반환 값은 lprc->top
그리기 텍스트의 아래쪽까지의 오프셋입니다.
함수가 실패하면 반환 값은 0입니다.
발언
DrawTextEx 함수는 이스케이프와 방향이 모두 0인 글꼴만 지원합니다.
디바이스 컨텍스트의 텍스트 맞춤 모드에는 TA_LEFT, TA_TOP 및 TA_NOUPDATECP 플래그가 포함되어야 합니다.
메모
winuser.h 헤더는 DRAWTextEx를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 집합 | ext-ms-win-ntuser-misc-l1-2-0(Windows 8.1에서 도입) |
참고 항목
DRAWTEXTPARAMS