다음을 통해 공유


GetTextExtentExPointA 함수(wingdi.h)

GetTextExtentExPoint 함수는 지정된 공간에 맞는 지정된 문자열의 문자 수를 검색하고 각 문자에 대한 텍스트 범위로 배열을 채웁니다. 텍스트 범위는 공백의 시작 부분과 공백에 맞는 문자 사이의 거리입니다. 이 정보는 단어 줄 바꿈 계산에 유용합니다.

통사론

BOOL GetTextExtentExPointA(
  [in]  HDC    hdc,
  [in]  LPCSTR lpszString,
  [in]  int    cchString,
  [in]  int    nMaxExtent,
  [out] LPINT  lpnFit,
  [out] LPINT  lpnDx,
  [out] LPSIZE lpSize
);

매개 변수

[in] hdc

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

[in] lpszString

익스텐트를 검색할 null로 끝나는 문자열에 대한 포인터입니다.

[in] cchString

lpszStr 매개 변수가 가리키는 문자열의 문자 수입니다. ANSI 호출의 경우 문자열 길이를 바이트 단위로 지정하고 유니코드의 경우 WORD의 문자열 길이를 지정합니다. ANSI 함수의 경우 SBCS 코드 페이지의 문자는 각각 1바이트를 사용하지만 DBCS 코드 페이지의 대부분의 문자는 2바이트를 사용합니다. 유니코드 함수의 경우 가장 현재 정의된 유니코드 문자(BMP(기본 다국어 평면))는 하나의 WORD이고 유니코드 서로게이트는 두 WORD입니다.

[in] nMaxExtent

서식이 지정된 문자열의 최대 허용 너비(논리 단위)입니다.

[out] lpnFit

nMaxExtent 매개 변수로 지정된 공간에 맞는 최대 문자 수를 받는 정수에 대한 포인터입니다. lpnFit 매개 변수가 NULL경우 nMaxExtent 매개 변수는 무시됩니다.

[out] lpnDx

부분 문자열 익스텐트를 수신하는 정수 배열에 대한 포인터입니다. 배열의 각 요소는 문자열의 시작 부분과 nMaxExtent 매개 변수로 지정된 공간에 맞는 문자 중 하나 사이의 거리를 논리 단위로 제공합니다. 전체 배열이 내부적으로 사용되므로 이 배열에는 cchString 매개 변수에 지정된 문자만큼 많은 요소가 있어야 합니다. 이 함수는 lpnFit 매개 변수에 지정된 문자 수만큼 유효한 익스텐트로 배열을 채웁니다. 배열의 나머지 부분에 있는 모든 값은 무시되어야 합니다. alpDx NULL경우 함수는 부분 문자열 너비를 계산하지 않습니다.

문자 시퀀스가 임의의 문자 모양으로 표현될 수 있는 복잡한 스크립트의 경우 alpDx의 값은 lpnFit 매개 변수에서 지정한 수까지 배열을 코드 포인트와 일대일로 일치시킬 있습니다. 다시 말하지만, alpDx 배열의 나머지 값은 무시해야 합니다.

[out] lpSize

문자열의 차원을 논리 단위로 받는 SIZE 구조체에 대한 포인터입니다. 이 매개 변수는 NULL수 없습니다.

반환 값

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

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

발언

lpnFitalpDx 매개 변수가 모두 NULL경우 GetTextExtentExPoint 함수를 호출하는 것은 GetTextExtentPoint 함수를 호출하는 것과 같습니다.

GetTextExtentExPointANSI 버전의 경우 lpDx 배열은 lpString바이트가 있는 것과 동일한 수의 INT 값을 가집니다. DBCS 문자의 2바이트에 해당하는 INT 값은 각각 전체 복합 문자의 범위입니다.

GetTextExtentExPoint 대한 alpDx 값은 ExtTextOut대한 lpDx 값과 다릅니다. lpDxalpDx 값을 사용하려면 먼저 해당 값을 처리해야 합니다.

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

이 함수는 문자열에 있는 각 연속 문자의 익스텐트를 반환합니다. 이러한 값을 논리 단위로 반올림하면 논리 단위로 반올림된 각 개별 문자의 너비를 반환하는 GetCharWidth반환되는 것과 다른 결과를 얻을 수 있습니다.

메모

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

요구 사항

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

참고 항목

글꼴 및 텍스트 함수

글꼴 및 텍스트 개요

GetTextExtentPoint

크기