Function Reference


_GDIPlus_GraphicsMeasureString

Measures the size of a string

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

Parameters

$hGraphics Handle to a Graphics object
$sString String to be drawn
$hFont Handle to the font to use to draw the string
$tLayout $tagGDIPRECTF structure that bounds the string
$hFormat Handle to the string format to draw the string

Return Value

Success: an array with the following format:
    [0] - $tagGDIPRECTF structure that receives the rectangle that bounds the string
    [1] - The number of characters that actually fit into the layout rectangle
    [2] - The number of lines that fit into the layout rectangle
Failure: sets the @error flag to non-zero, @extended may contain GPSTATUS error code ($GPIP_ERR* see GPIPlusConstants.au3).

Related

$tagGDIPRECTF

See Also

Search GdipMeasureString in MSDN Library.

Example

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

Example()

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

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

        ; Draw a string
        _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)

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE

        ; Clean up resources
        _GDIPlus_FontDispose($hFont)
        _GDIPlus_FontFamilyDispose($hFamily)
        _GDIPlus_StringFormatDispose($hFormat)
        _GDIPlus_BrushDispose($hBrush)
        _GDIPlus_GraphicsDispose($hGraphic)
        _GDIPlus_Shutdown()
EndFunc   ;==>Example