UDF > WinAPIEx > GDI > Font & Text >


_WinAPI_CreateFont

Cr�e une police logique avec les caract�ristiques sp�cifi�es

#include <WinAPIGdi.au3>
_WinAPI_CreateFont ( $iHeight, $iWidth [, $iEscape = 0 [, $iOrientn = 0 [, $iWeight = $FW_NORMAL [, $bItalic = False [, $bUnderline = False [, $bStrikeout = False [, $iCharset = $DEFAULT_CHARSET [, $iOutputPrec = $OUT_DEFAULT_PRECIS [, $iClipPrec = $CLIP_DEFAULT_PRECIS [, $iQuality = $DEFAULT_QUALITY [, $iPitch = 0 [, $sFace = 'Arial']]]]]]]]]]]] )

Param�tres

$iHeight Hauteur de la police
$iWidth Largeur moyenne des caract�res
$iEscape [optionnel] Angle de l'�chappement
$iOrientn [optionnel] Angle d'orientation de la Ligne de base
$iWeight [optionnel] Graisse de la police, les valeurs suivantes sont d�finies pour plus de commodit�:
$FW_DONTCARE - 0
$FW_THIN - 100
$FW_EXTRALIGHT - 200
$FW_LIGHT - 300
$FW_NORMAL - 400
$FW_MEDIUM - 500
$FW_SEMIBOLD - 600
$FW_BOLD - 700
$FW_EXTRABOLD - 800
$FW_HEAVY - 900
$bItalic [optionnel] Attribut italique
$bUnderline [optionnel] Attribut de soulignement
$bStrikeout [optionnel] Attribut barr�
$iCharset [optionnel] Sp�cifie le jeu de caract�res. Les valeurs suivantes sont pr�d�finies:
$ANSI_CHARSET - 0
$BALTIC_CHARSET - 186
$CHINESEBIG5_CHARSET - 136
$DEFAULT_CHARSET - 1
$EASTEUROPE_CHARSET - 238
$GB2312_CHARSET - 134
$GREEK_CHARSET - 161
$HANGEUL_CHARSET - 129
$MAC_CHARSET - 77
$OEM_CHARSET - 255
$RUSSIAN_CHARSET - 204
$SHIFTJIS_CHARSET - 128
$SYMBOL_CHARSET - 2
$TURKISH_CHARSET - 162
$VIETNAMESE_CHARSET - 163
$iOutputPrec [optionnel] Sp�cifie la pr�cision de sortie, elle peut �tre l'une des valeurs suivantes:
$OUT_CHARACTER_PRECIS - Non utilis�
$OUT_DEFAULT_PRECIS - Sp�cifie le comportement de mappage par d�faut de la police
$OUT_DEVICE_PRECIS - Laisse le mappeur de polices choisir une police de p�riph�rique lorsque le syst�me contient plusieurs polices portant le m�me nom
$OUT_OUTLINE_PRECIS - Cette valeur laisse le mappeur de polices choisir entre TrueType et d'autres polices bas�es outline
$OUT_PS_ONLY_PRECIS - Laisse le mappeur de polices choisir les polices PostScript seulement.
S'il n'y a pas de police PostScript install�e dans le syst�me, le mappeur de police retourne un comportement par d�faut
$OUT_RASTER_PRECIS - Laisse le mappeur de polices choisir une police raster lorsque le syst�me contient plusieurs polices portant le m�me nom
$OUT_STRING_PRECIS - Cette valeur n'est pas utilis�e par le mappeur de police, mais elle est retourn�e lorsque les polices raster sont �num�r�es
$OUT_STROKE_PRECIS - Cette valeur n'est pas utilis�e par le mappeur de police, mais elle est retourn�e lorsque des polices TrueType, d'autres polices outline, et des polices vectorielles sont �num�r�s
$OUT_TT_ONLY_PRECIS - Laisse le mappeur de polices choisir uniquement les polices TrueType. S'il n'y a pas les polices TrueType install�es dans le syst�me, le mappeur de police retourne au comportement par d�faut
$OUT_TT_PRECIS - Laisse le mappeur de polices choisir une police TrueType lorsque le syst�me contient plusieurs polices portant le m�me nom
$iClipPrec [optionnel] Sp�cifie la pr�cision de d�coupe, peut prendre une ou plusieurs des valeurs suivantes:
$CLIP_CHARACTER_PRECIS - Non utilis�
$CLIP_DEFAULT_PRECIS - Indique le comportement de coupure de d�faut
$CLIP_EMBEDDED - Vous devez sp�cifier cette option pour utiliser une police en lecture seule int�gr�e
$CLIP_LH_ANGLES - Lorsque cette option est utilis�e, la rotation pour toutes les polices d�pend de l'orientation du syst�me de coordonn�es, soit � gauche, soit � droite.
Si cette option n'est pas utilis�e, les polices de p�riph�rique tournent toujours dans le sens antihoraire, mais la rotation des autres polices d�pend de l'orientation du syst�me de coordonn�es.
$CLIP_MASK - Non utilis�
$CLIP_STROKE_PRECIS - Non utilis� par le mappeur de police, mais est retourn� quand les polices raster, vecteur, ou TrueType sont �num�r�es
Pour des raisons de compatibilit�, cette valeur est toujours retourn�e lors de l'�num�ration des polices
$CLIP_TT_ALWAYS - Non utilis�
$iQuality [optionnel] Sp�cifie la qualit� de sortie, peut prendre l'une des valeurs suivantes:
$ANTIALIASED_QUALITY - La police est anticr�nel�e ou liss�e, si la police le prend en charge et si la taille de la police n'est pas trop petite ou trop grande.
En outre, vous devez s�lectionner une police TrueType dans un �cran DC avant de l'utiliser dans un DIBSection, sinon l'anticr�nelage ne se produit pas
$DEFAULT_QUALITY - L'apparence de la police n'a pas d'importance
$DRAFT_QUALITY - L'apparence de la police est moins importante que lorsque la valeur de PROOF_QUALITY est utilis�e.
Pour les polices raster GDI, la mise � l'�chelle est d�sactiv�e, ce qui signifie que plusieurs tailles de police sont disponibles, mais la qualit� peut �tre inf�rieure.
Les polices en gras, italique, soulign� et barr� sont synth�tis�es, si n�cessaire
$NONANTIALIASED_QUALITY - La police n'est jamais anti-cr�nel�, et le lissage des polices n'est pas fait
$PROOF_QUALITY - La qualit� des caract�res de la police est plus importante que la coinc�dence exacte des attributs de police logique.
Pour les polices raster GDI, la mise � l'�chelle est d�sactiv�e et la police la plus proche en taille est choisie.
Bien que la taille de la police choisie ne peut pas �tre mapp� exactement quand PROOF_QUALITY est utilis�, la qualit� de la police est �lev�e et il n'y a pas de distorsion de l'apparence.
Les polices en gras, italique, soulign� et barr� sont synth�tis�es, si n�cessaire
$iPitch [optionnel] Sp�cifie l'espacement et la famille de la police. Les deux bits de poids faible indiquent l'espacement de la police et peut prendre l'une des valeurs suivantes:
$DEFAULT_PITCH, $FIXED_PITCH, $VARIABLE_PITCH
Les quatre bits de poids fort sp�cifient la famille de police et peut prendre l'une des valeurs suivantes:
$FF_DECORATIVE - Nouvelles polices. Old English est un exemple
$FF_DONTCARE - Utilise la police par d�faut
$FF_MODERN - Polices avec largeur de trait constante, avec ou sans empattements. Pica, Elite, et Courier New sont des exemples
$FF_ROMAN - Polices avec largeur du trait variable et avec empattements. MS Serif est un exemple
$FF_SCRIPT - Polices con�u pour ressembler � l'�criture. Script et Cursive sont des exemples
$FF_SWISS - Polices avec largeur du trait variable et sans empattements. MS Sans Serif est un exemple
$sFace [optionnel] Nom de la police

Valeur de retour

Succ�s: Retourne le handle de la police logique
�chec: Retourne 0

Remarques

Lorsque vous n'avez plus besoin de la police, appelez la fonction _WinAPI_DeleteObject() pour la supprimer

Les constantes ci-dessus sont d�finies dans FontConstants.au3

Voir aussi

Consultez CreateFont dans la librairie MSDN.

Exemple

#include <FontConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>

Global $g_tRECT, $g_hFont, $g_hOldFont, $g_hDC

HotKeySet("{ESC}", "_Exit")

$g_tRECT = DllStructCreate($tagRect)
DllStructSetData($g_tRECT, "Left", 5)
DllStructSetData($g_tRECT, "Top", 5)
DllStructSetData($g_tRECT, "Right", 250)
DllStructSetData($g_tRECT, "Bottom", 50)

$g_hDC = _WinAPI_GetDC(0)
$g_hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
        $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$g_hOldFont = _WinAPI_SelectObject($g_hDC, $g_hFont)

_WinAPI_SetTextColor($g_hDC, 0x0000FF)
_WinAPI_SetBkColor($g_hDC, 0x000000)
; Commentez la ligne suivante pour obtenir un fond noir au lieu d'un transparent
_WinAPI_SetBkMode($g_hDC, $TRANSPARENT)

While $g_tRECT > 0
    _WinAPI_DrawText($g_hDC, "Hello world!", $g_tRECT, $DT_CENTER)
    Sleep(100)
WEnd

Func _Exit()
    _WinAPI_SelectObject($g_hDC, $g_hOldFont)
    _WinAPI_DeleteObject($g_hFont)
    _WinAPI_ReleaseDC(0, $g_hDC)
    _WinAPI_InvalidateRect(0, 0)
    $g_tRECT = 0
EndFunc   ;==>_Exit