다음을 통해 공유


ID3DXFont::D rawText 메서드

서식이 지정된 텍스트를 그립니다. 이 메서드는 ANSI 및 유니코드 문자열을 지원합니다.

구문

INT DrawText(
  [in] LPD3DXSPRITE pSprite,
  [in] LPCTSTR      pString,
  [in] INT          Count,
  [in] LPRECT       pRect,
  [in] DWORD        Format,
  [in] D3DCOLOR     Color
);

매개 변수

pSprite [in]

형식: LPD3DXSPRITE

문자열을 포함하는 ID3DXSprite 개체에 대한 포인터입니다. NULL일 수 있습니다. 이 경우 Direct3D는 자체 스프라이트 개체를 사용하여 문자열을 렌더링합니다. 효율성을 높이기 위해 DrawText 를 한 행에 두 번 이상 호출하는 경우 스프라이트 개체를 지정해야 합니다.

pString [in]

형식: LPCTSTR

그릴 문자열에 대한 포인터입니다. Count 매개 변수가 -1이면 문자열이 null로 종료되어야 합니다.

개수 [in]

형식: INT

문자열에 있는 문자의 수를 지정합니다. Count가 -1이면 pString 매개 변수는 null로 끝나는 문자열에 대한 포인터로 간주되고 DrawText 는 문자 수를 자동으로 계산합니다.

pRect [in]

형식: LPRECT

텍스트의 서식을 지정할 논리 좌표의 사각형을 포함하는 RECT 구조체에 대한 포인터입니다. 사각형 오른쪽의 좌표 값은 왼쪽보다 커야 합니다. 마찬가지로 아래쪽의 좌표 값은 위쪽의 좌표 값보다 커야 합니다.

형식 [in]

형식: DWORD

텍스트 서식 지정 방법을 지정합니다. 다음 값의 조합일 수 있습니다.

의미
DT_BOTTOM
텍스트를 사각형 아래쪽으로 맞춥니다. 이 값은 DT_SINGLELINE 함께 사용해야 합니다.
DT_CALCRECT
사각형의 너비와 높이를 결정합니다. 여러 줄의 텍스트가 있는 경우 DrawText 는 pRect 매개 변수가 가리키는 사각형의 너비를 사용하고 사각형의 밑을 확장하여 텍스트의 마지막 줄을 바인딩합니다. 텍스트 줄이 하나만 있는 경우 DrawText 는 사각형의 오른쪽을 수정하여 줄의 마지막 문자를 경계로 합니다. 두 경우 모두 DrawText 는 서식이 지정된 텍스트의 높이를 반환하지만 텍스트를 그리지는 않습니다.
DT_CENTER
직사각형에서 텍스트를 가로로 가운데에 맞춥다.
DT_EXPANDTABS
탭 문자를 확장합니다. 탭당 기본 문자 수는 8개입니다.
DT_LEFT
텍스트를 왼쪽으로 정렬합니다.
DT_NOCLIP
클리핑하지 않고 그립니다. DrawText 는 DT_NOCLIP 사용할 때 다소 빠릅니다.
DT_RIGHT
텍스트를 오른쪽으로 정렬합니다.
DT_RTLREADING
히브리어 또는 아랍어 글꼴을 선택하면 양방향 텍스트의 텍스트를 오른쪽에서 왼쪽으로 읽는 순서로 표시합니다. 모든 텍스트의 기본 읽기 순서는 왼쪽에서 오른쪽입니다.
DT_SINGLELINE
한 줄에만 텍스트를 표시합니다. 캐리지 리턴 및 줄 바꿈은 줄을 끊지 않습니다.
DT_TOP
텍스트를 위쪽으로 정렬합니다.
DT_VCENTER
텍스트를 세로로 가운데에 옵니다(한 줄에만 해당).
DT_WORDBREAK
단어를 중단합니다. 단어가 pRect 매개 변수로 지정된 사각형의 가장자리를 지나 확장하면 단어 사이에 줄이 자동으로 끊어집니다. 캐리지 리턴/줄 바꿈 시퀀스도 선을 끊습니다.

 

[in]

형식: D3DCOLOR

텍스트의 색입니다. 자세한 내용은 D3DCOLOR를 참조하세요.

반환 값

형식: INT

함수가 성공하면 반환 값은 논리 단위의 텍스트 높이입니다. DT_VCENTER 또는 DT_BOTTOM 지정한 경우 반환 값은 그려진 텍스트의 pRect(위쪽에서 아래쪽)의 오프셋입니다. 함수가 실패하면 반환 값은 0입니다.

설명

이 메서드의 매개 변수는 GDI DrawText 함수의 매개 변수와 매우 유사합니다.

이 메서드는 ANSI 및 유니코드 문자열을 모두 지원합니다.

이 메서드는 BeginScene 내에서 호출해야 합니다. EndScene 블록. 유일한 예외는 애플리케이션이 DT_CALCRECT 있는 DrawText 를 호출하여 지정된 텍스트 블록의 크기를 계산하는 경우입니다.

DT_NOCLIP 형식을 사용하지 않는 한 이 메서드는 지정된 사각형 외부에 표시되지 않도록 텍스트를 잘라냅니다. DT_SINGLELINE 형식을 지정하지 않으면 모든 서식에 여러 줄이 있는 것으로 간주됩니다.

선택한 글꼴이 사각형에 비해 너무 큰 경우 이 메서드는 더 작은 글꼴을 대체하려고 시도하지 않습니다.

이 메서드는 이스케이프와 방향이 모두 0인 글꼴만 지원합니다.

요구 사항

요구 사항
헤더
D3dx9core.h
라이브러리
D3dx9.lib

추가 정보

ID3DXFont