UDF > WinAPIEx > GDI > Font & Text >


_WinAPI_GetOutlineTextMetrics

Obtient les paramètres métriques de texte d'une police TrueType

#include <WinAPIGdi.au3>
_WinAPI_GetOutlineTextMetrics ( $hDC )

Paramètre

$hDC Handle du contexte de périphérique.

Valeur de retour

Succès: Retourne une structure $tagOUTLINETEXTMETRIC qui contient les paramètres texte.
Échec: Définit @error <> 0.

Remarque

La structure $tagOUTLINETEXTMETRIC contient beaucoup d'informations métriques de texte fournies pour les polices TrueType (y compris la structure TEXTMETRIC). Les tailles retournées dans $tagOUTLINETEXTMETRIC sont en unités logiques; elles dépendent du mode de mappage courant.

Voir aussi

Consultez GetOutlineTextMetrics dans la librairie MSDN.

Exemple

#include <FontConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPIMisc.au3>

; Sélectionne la police "Arial" du DC et récupére la structure $tagOUTLINETEXTMETRIC
Local $hDC = _WinAPI_GetDC(0)
Local $hFont = _WinAPI_CreateFont(24, 0, 0, 0, $FW_NORMAL, 0, 0, 0, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $ANTIALIASED_QUALITY, $DEFAULT_PITCH, 'Arial')
Local $hSv = _WinAPI_SelectObject($hDC, $hFont)
Local $tOLTM = _WinAPI_GetOutlineTextMetrics($hDC)
_WinAPI_SelectObject($hDC, $hSv)
_WinAPI_ReleaseDC(0, $hDC)

If IsDllStruct($tOLTM) Then
    ConsoleWrite('Family name:   '& _otm($tOLTM, 'otmFamilyName') & @CRLF)
    ConsoleWrite('Typeface name: '& _otm($tOLTM, 'otmFaceName') & @CRLF)
    ConsoleWrite('Style name     '& _otm($tOLTM, 'otmStyleName') & @CRLF)
    ConsoleWrite('Full name:     '& _otm($tOLTM, 'otmFullName') & @CRLF)
EndIf

Func _otm(ByRef $tOLTM, $sName)
    Return _WinAPI_GetString(DllStructGetPtr($tOLTM) + DllStructGetData($tOLTM, $sName))
EndFunc   ;==>_otm