Mesure la taille d'une chaîne
#include <GDIPlus.au3>
_GDIPlus_GraphicsMeasureString ( $hGraphics, $sString, $hFont, $tLayout, $hFormat )
$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,... |
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*). |
Consultez GdipMeasureString dans la Librairie MSDN.
#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