ID3DXFont::D rawText-Methode

Zeichnet formatierten Text. Diese Methode unterstützt ANSI- und Unicode-Zeichenfolgen.

Syntax

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

Parameter

pSprite [in]

Typ: LPD3DXSPRITE

Zeiger auf ein ID3DXSprite-Objekt , das die Zeichenfolge enthält. Kann NULL sein. In diesem Fall rendert Direct3D die Zeichenfolge mit einem eigenen Sprite-Objekt. Um die Effizienz zu verbessern, sollte ein Sprite-Objekt angegeben werden, wenn DrawText mehrmals in einer Zeile aufgerufen werden soll.

pString [in]

Typ: LPCTSTR

Zeiger auf eine zu zeichnende Zeichenfolge. Wenn der Count-Parameter -1 ist, muss die Zeichenfolge null-terminated sein.

Anzahl [in]

Typ: INT

Gibt die Anzahl von Zeichen in der Zeichenfolge an. Wenn Count den Wert -1 aufweist, wird angenommen, dass der pString-Parameter ein Zeiger auf eine null-endende Zeichenfolge ist, und DrawText berechnet die Zeichenanzahl automatisch.

pRect [in]

Typ: LPRECT

Zeiger auf eine RECT-Struktur , die das Rechteck in logischen Koordinaten enthält, in dem der Text formatiert werden soll. Der Koordinatenwert der rechten Seite des Rechtecks muss größer sein als der wert der linken Seite. Ebenso muss der Koordinatenwert des unteren Werts größer sein als der obere Wert.

Format [in]

Typ: DWORD

Gibt die Methode zum Formatieren des Texts an. Es kann sich um eine beliebige Kombination der folgenden Werte handeln:

Wert Bedeutung
DT_BOTTOM
Rechtfertigt den Text am unteren Rand des Rechtecks. Dieser Wert muss mit DT_SINGLELINE kombiniert werden.
DT_CALCRECT
Bestimmt die Breite und Höhe des Rechtecks. Wenn mehrere Textzeilen vorhanden sind, verwendet DrawText die Breite des Rechtecks, auf das der pRect-Parameter verweist, und erweitert die Basis des Rechtecks, um die letzte Textzeile zu binden. Wenn nur eine Textzeile vorhanden ist, ändert DrawText die rechte Seite des Rechtecks, sodass das letzte Zeichen in der Zeile gebunden wird. In beiden Fällen gibt DrawText die Höhe des formatierten Texts zurück, zeichnet den Text jedoch nicht.
DT_CENTER
Zentriert Text horizontal im Rechteck.
DT_EXPANDTABS
Erweitert Tabstoppzeichen. Die Standardanzahl von Zeichen pro Tabstopp beträgt acht.
DT_LEFT
Richtet Text links aus.
DT_NOCLIP
Zeichnet ohne Beschneidung. DrawText ist etwas schneller, wenn DT_NOCLIP verwendet wird.
DT_RIGHT
Richtet Text rechts aus.
DT_RTLREADING
Zeigt Text in der Leserichtung von rechts nach links für bidirektionalen Text an, wenn eine hebräische oder arabische Schriftart ausgewählt ist. Die Standardlesereihenfolge für den gesamten Text ist von links nach rechts.
DT_SINGLELINE
Zeigt Text nur in einer einzelnen Zeile an. Wagenrückläufe und Zeilenfeeds unterbrechen die Linie nicht.
DT_TOP
Am besten rechtfertigt Text.
DT_VCENTER
Zentriert Text vertikal (nur einzeilig).
DT_WORDBREAK
Unterbricht Wörter. Zeilen werden automatisch zwischen Wörtern unterbrochen, wenn sich ein Wort über den Rand des durch den pRect-Parameter angegebenen Rechtecks erstreckt. Eine Wagenrücklauf-/Zeilenvorschubsequenz durchbricht die Zeile ebenfalls.

 

Farbe [in]

Typ: D3DCOLOR

Farbe des Texts. Weitere Informationen finden Sie unter D3DCOLOR.

Rückgabewert

Typ: INT

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Höhe des Texts in logischen Einheiten. Wenn DT_VCENTER oder DT_BOTTOM angegeben ist, ist der Rückgabewert der Offset von pRect (von oben nach unten) des gezeichneten Texts. Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Bemerkungen

Die Parameter dieser Methode sind denen der GDI DrawText-Funktion sehr ähnlich.

Diese Methode unterstützt sowohl ANSI- als auch Unicode-Zeichenfolgen.

Diese Methode muss in einem BeginScene ... EndScene-Block . Die einzige Ausnahme ist, wenn eine Anwendung DrawText mit DT_CALCRECT aufruft, um die Größe eines bestimmten Textblocks zu berechnen.

Sofern nicht das DT_NOCLIP-Format verwendet wird, schneidet diese Methode den Text so ab, dass er nicht außerhalb des angegebenen Rechtecks angezeigt wird. Es wird davon ausgegangen, dass alle Formatierungen mehrere Zeilen haben, es sei denn, das DT_SINGLELINE Format ist angegeben.

Wenn die ausgewählte Schriftart für das Rechteck zu groß ist, versucht diese Methode nicht, eine kleinere Schriftart zu ersetzen.

Diese Methode unterstützt nur Schriftarten, deren Escapegrad und Ausrichtung 0 (null) sind.

Anforderungen

Anforderung Wert
Header
D3dx9core.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXFont