다음을 통해 공유


GetTextExtentPoint32W 함수(wingdi.h)

GetTextExtentPoint32 함수는 지정된 텍스트 문자열의 너비와 높이를 계산합니다.

구문

BOOL GetTextExtentPoint32W(
  [in]  HDC     hdc,
  [in]  LPCWSTR lpString,
  [in]  int     c,
  [out] LPSIZE  psizl
);

매개 변수

[in] hdc

디바이스 컨텍스트에 대한 핸들입니다.

[in] lpString

텍스트 문자열을 지정하는 버퍼에 대한 포인터입니다. c 매개 변수가 문자열의 길이를 지정하기 때문에 문자열을 null로 종료할 필요가 없습니다.

[in] c

lpString이 가리키는 문자열의 길이입니다.

[out] psizl

문자열의 차원을 논리적 단위로 수신하는 SIZE 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

설명

GetTextExtentPoint32 함수는 현재 선택한 글꼴을 사용하여 문자열의 차원을 계산합니다. 너비와 높이(논리 단위)는 클리핑을 고려하지 않고 계산됩니다.

일부 디바이스 커닝 문자는 문자열에 있는 문자의 익스텐트 합계가 문자열의 범위와 같지 않을 수 있습니다.

계산된 문자열 너비는 SetTextCharacterExtra 함수에서 설정한 문자 간 간격과 SetTextJustification에서 설정한 근거를 고려합니다. 이는 화면에 표시하고 인쇄하는 경우 모두에 해당합니다. 그러나 lpDxExtTextOut에서 설정된 경우 GetTextExtentPoint32 는 문자 간 간격 또는 근거를 고려하지 않습니다. 또한 EMF의 경우 인쇄 결과는 항상 문자 간 간격과 근거를 모두 고려합니다.

화면에 표시되는 텍스트를 처리할 때 계산된 문자열 너비는 SetTextCharacterExtra 함수에서 설정한 문자 간 간격과 SetTextJustification에서 설정한 근거를 고려합니다. 그러나 lpDxExtTextOut에서 설정된 경우 GetTextExtentPoint32 는 문자 간 간격 또는 근거를 고려하지 않습니다. 그러나 EMF를 사용하여 인쇄하는 경우:

  • GetTextExtentPoint32는 이를 고려하지만 인쇄 결과는 문자 간 간격을 무시합니다.
  • GetTextExtentPoint32는 무시하지만 인쇄 결과는 근거를 고려합니다.
이 함수는 텍스트 범위를 반환할 때 텍스트가 가로, 즉 이스케이프먼트가 항상 0이라고 가정합니다. 이는 텍스트의 가로 및 세로 측정 모두에 해당합니다. 0이 아닌 이스케이프먼트를 지정하는 글꼴을 사용하는 경우에도 이 함수는 텍스트 범위를 계산하는 동안 각도를 사용하지 않습니다. 앱은 명시적으로 변환해야 합니다. 그러나 그래픽 모드가 GM_ADVANCED 설정되고 문자 방향이 인쇄 방향에서 90도인 경우 이 함수가 반환하는 값은 이 규칙을 따르지 않습니다. 문자 방향과 인쇄 방향이 지정된 문자열과 일치하면 이 함수는 SIZE 구조의 문자열 크기를 { cx : 116, cy : 18 }로 반환합니다. 동일한 문자열에 대해 문자 방향과 인쇄 방향이 90도 떨어져 있으면 이 함수는 SIZE 구조의 문자열 크기를 { cx : 18, cy : 116 }로 반환합니다.

GetTextExtentPoint32 는 텍스트 문자열의 높이를 계산할 때 "\n"(새 줄) 또는 "\r\n"(캐리지 리턴 및 새 줄) 문자를 고려하지 않습니다.

예제

예를 들어 동일한 줄의 다른 글꼴에서 텍스트 그리기를 참조하세요.

참고

wingdi.h 헤더는 GETTextExtentPoint32를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wingdi.h(Windows.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

추가 정보

ExtTextOut

글꼴 및 텍스트 함수

글꼴 및 텍스트 개요

SIZE

SetTextCharacterExtra

SetTextJustification