ID3DXFont::D rawText, méthode

Dessine le texte mis en forme. Cette méthode prend en charge les chaînes ANSI et Unicode.

Syntaxe

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

Paramètres

pSprite [in]

Type : LPD3DXSPRITE

Pointeur vers un objet ID3DXSprite qui contient la chaîne. Peut être NULL, auquel cas Direct3D affiche la chaîne avec son propre objet sprite. Pour améliorer l’efficacité, un objet sprite doit être spécifié si DrawText doit être appelé plusieurs fois dans une ligne.

pString [in]

Type : LPCTSTR

Pointeur vers une chaîne à dessiner. Si le paramètre Count est -1, la chaîne doit être terminée par null.

Count [in]

Type : INT

Spécifie le nombre de caractères de la chaîne. Si Count a la valeur -1, le paramètre pString est supposé être un pointeur vers une chaîne terminée par null et DrawText calcule automatiquement le nombre de caractères.

pRect [in]

Type : LPRECT

Pointeur vers une structure RECT qui contient le rectangle, en coordonnées logiques, dans lequel le texte doit être mis en forme. La valeur de coordonnée du côté droit du rectangle doit être supérieure à celle de son côté gauche. De même, la valeur de coordonnées du bas doit être supérieure à celle du haut.

Format [in]

Type : DWORD

Spécifie la méthode de mise en forme du texte. Il peut s’agir de n’importe quelle combinaison des valeurs suivantes :

Valeur Signification
DT_BOTTOM
Justifie le texte en bas du rectangle. Cette valeur doit être combinée avec DT_SINGLELINE.
DT_CALCRECT
Détermine la largeur et la hauteur du rectangle. S’il existe plusieurs lignes de texte, DrawText utilise la largeur du rectangle pointé vers le paramètre pRect et étend la base du rectangle pour lier la dernière ligne de texte. S’il n’existe qu’une seule ligne de texte, DrawText modifie le côté droit du rectangle afin qu’il limite le dernier caractère de la ligne. Dans les deux cas, DrawText retourne la hauteur du texte mis en forme, mais ne dessine pas le texte.
DT_CENTER
Centre le texte horizontalement dans le rectangle.
DT_EXPANDTABS
Développe des caractères de tabulation. Le nombre par défaut de caractères par tabulation est huit.
DT_LEFT
Aligne le texte vers la gauche.
DT_NOCLIP
Dessine sans découpage. DrawText est un peu plus rapide lorsque DT_NOCLIP est utilisé.
DT_RIGHT
Aligne le texte vers la droite.
DT_RTLREADING
Affiche le texte dans l’ordre de lecture de droite à gauche pour le texte bidirectionnel lorsqu’une police hébraïque ou arabe est sélectionnée. L’ordre de lecture par défaut pour tout le texte est de gauche à droite.
DT_SINGLELINE
Affiche le texte sur une seule ligne uniquement. Les retours chariot et les flux de ligne ne cassent pas la ligne.
DT_TOP
Le texte en haut justifie.
DT_VCENTER
Centre le texte verticalement (ligne unique uniquement).
DT_WORDBREAK
Casse les mots. Les lignes sont automatiquement rompues entre les mots si un mot s’étend au-delà du bord du rectangle spécifié par le paramètre pRect. Une séquence retour chariot/flux de ligne interrompt également la ligne.

 

Couleur [in]

Type : D3DCOLOR

Couleur du texte. Pour plus d’informations, consultez D3DCOLOR.

Valeur retournée

Type : INT

Si la fonction réussit, la valeur de retour est la hauteur du texte en unités logiques. Si DT_VCENTER ou DT_BOTTOM est spécifié, la valeur de retour correspond au décalage de pRect (de haut en bas) du texte dessiné. Si la fonction échoue, la valeur de retour est égale à zéro.

Notes

Les paramètres de cette méthode sont très similaires à ceux de la fonction DrawText GDI.

Cette méthode prend en charge les chaînes ANSI et Unicode.

Cette méthode doit être appelée à l’intérieur d’un BeginScene ... Bloc EndScene . La seule exception est lorsqu’une application appelle DrawText avec DT_CALCRECT pour calculer la taille d’un bloc de texte donné.

Sauf si le format DT_NOCLIP est utilisé, cette méthode clipse le texte afin qu’il n’apparaisse pas en dehors du rectangle spécifié. Toute la mise en forme est supposée avoir plusieurs lignes, sauf si le format DT_SINGLELINE est spécifié.

Si la police sélectionnée est trop grande pour le rectangle, cette méthode ne tente pas de remplacer une police plus petite.

Cette méthode ne prend en charge que les polices dont l’échappement et l’orientation sont toutes deux nulles.

Spécifications

Condition requise Valeur
En-tête
D3dx9core.h
Bibliothèque
D3dx9.lib

Voir aussi

ID3DXFont