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']]]]]]]]]]]] )
$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 |
Succ�s: | Retourne le handle de la police logique |
�chec: | Retourne 0 |
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
Consultez CreateFont dans la librairie MSDN.
#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