GetTextExtentPoint32A 함수(wingdi.h)
GetTextExtentPoint32 함수는 지정된 텍스트 문자열의 너비와 높이를 계산합니다.
구문
BOOL GetTextExtentPoint32A(
[in] HDC hdc,
[in] LPCSTR lpString,
[in] int c,
[out] LPSIZE psizl
);
매개 변수
[in] hdc
디바이스 컨텍스트에 대한 핸들입니다.
[in] lpString
텍스트 문자열을 지정하는 버퍼에 대한 포인터입니다. c 매개 변수가 문자열의 길이를 지정하므로 문자열을 null로 종료할 필요가 없습니다.
[in] c
lpString에서 가리키는 문자열의 길이입니다.
[out] psizl
문자열의 차원을 논리 단위로 받는 SIZE 구조체에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다.
설명
GetTextExtentPoint32 함수는 현재 선택한 글꼴을 사용하여 문자열의 크기를 계산합니다. 너비와 높이(논리 단위)는 클리핑을 고려하지 않고 계산됩니다.
일부 디바이스 커닝 문자이므로 문자열에 있는 문자의 익스텐트 합계가 문자열의 범위와 같지 않을 수 있습니다.
계산된 문자열 너비는 SetTextCharacterExtra 함수에서 설정한 문자 간 간격과 SetTextJustification에서 설정한 근거를 고려합니다. 이는 화면에 표시하고 인쇄하는 경우 모두에 해당합니다. 그러나 extTextOut에서 lpDx가 설정된 경우 GetTextExtentPoint32는 문자 간 간격 또는 근거를 고려하지 않습니다. 또한 EMF의 경우 인쇄 결과는 항상 문자 간 간격과 근거를 모두 고려합니다.
화면에 표시되는 텍스트를 처리할 때 계산된 문자열 너비는 SetTextCharacterExtra 함수에서 설정한 문자 간 간격과 SetTextJustification에서 설정한 근거를 고려합니다. 그러나 extTextOut에서 lpDx가 설정된 경우 GetTextExtentPoint32는 문자 간 간격 또는 근거를 고려하지 않습니다. 그러나 EMF를 사용하여 인쇄하는 경우:
- 인쇄 결과는 문자 간 간격을 무시하지만 GetTextExtentPoint32 는 이를 고려합니다.
- GetTextExtentPoint32는 무시하지만 인쇄 결과는 근거를 고려합니다.
GetTextExtentPoint32 는 텍스트 문자열의 높이를 계산할 때 "\n"(새 줄) 또는 "\r\n"(캐리지 리턴 및 새 줄) 문자를 고려하지 않습니다.
예제
예를 들어 동일한 줄의 다른 글꼴에서 텍스트 그리기를 참조하세요.
참고
wingdi.h 헤더는 GETTextExtentPoint32를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |