UDF > GDIPlus > Text >


_GDIPlus_GraphicsMeasureString

Mesure la taille d'une chaîne

#include <GDIPlus.au3>
_GDIPlus_GraphicsMeasureString ( $hGraphics, $sString, $hFont, $tLayout, $hFormat )

Paramètres

$hGraphics Handle de l'objet Graphics
$sString Chaîne à dessiner
$hFont Handle de la police qui sera utilisée pour dessiner la chaîne
$tLayout Structure $tagGDIPRECTF qui définit le rectangle dans lequel la chaîne sera dessinée
$hFormat Handle de l'objet StringFormat qui encapsule les informations relatives à la mise en page du texte, telles que l'alignement, l'orientation,...

Valeur de retour

Succès: Retourne un tableau au format suivant :
    [0] - Structure $tagGDIPRECTF qui reçoit le rectangle qui délimite la chaîne
    [1] - Le nombre de caractères qui correspondent en fait à la mise en page du rectangle
    [2] - Le nombre de lignes qui correspondent à la mise en page du rectangle
Échec: Définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*).

En relation

$tagGDIPRECTF

Voir aussi

Consultez GdipMeasureString dans la Librairie MSDN.

Exemple

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $hGUI, $hGraphic, $hBrush, $hFormat, $hFamily, $hFont, $tLayout, $aInfo
    Local $sString = "Hello world"

    ; Crée GUI
    $hGUI = GUICreate("GDI+", 400, 300)
    GUISetState(@SW_SHOW)

    ; Dessine une chaîne
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBrush = _GDIPlus_BrushCreateSolid(0xFF00007F)
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hFont = _GDIPlus_FontCreate($hFamily, 12, 2)
    $tLayout = _GDIPlus_RectFCreate(140, 110, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hGraphic, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Nettoie les ressources
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
EndFunc   ;==>Example