UDF > GDIPlus > Region >


_GDIPlus_RegionCreateFromRect

Crée une région (Region) définie par l'intérieur d'un rectangle

#include <GDIPlus.au3>
_GDIPlus_RegionCreateFromRect ( $nX, $nY, $nWidth, $nHeight )

Paramètres

$nX La coordonnée X du coin supérieur gauche du rectangle
$nY La coordonnée Y du coin supérieur gauche du rectangle,
$nWidth La largeur du rectangle
$nHeight La hauteur du rectangle

Valeur de retour

Succès: Retourne le handle du nouvel objet Region.
Échec: Retourne 0 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*).

Remarque

Lorsque vous en avez terminé avec l'objet, appelez _GDIPlus_RegionDispose() pour libérer les ressources de l'objet.

En relation

_GDIPlus_RegionDispose

Voir aussi

Consultez GdipCreateRegionRect dans la Librairie MSDN.

Exemple

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

Example()

Func Example()
    Local $hGUI, $hPath, $hFamily, $tLayout, $aSize, $hRegion, $hRGN

    _GDIPlus_Startup()

    $hGUI = GUICreate("GDI+", 620, 100)
    GUISetBkColor(0x80) ; Régle la couleur de fond de la fenêtre à bleu
    GUISetState(@SW_SHOW)

    $hPath = _GDIPlus_PathCreate() ; Crée un objet path

    $hFamily = _GDIPlus_FontFamilyCreate("Arial Black") ; Crée un objet FontFamily
    $tLayout = _GDIPlus_RectFCreate() ; Crée une chaîne délimitée par un rectangle de position X=0, Y=0
    _GDIPlus_PathAddString($hPath, "AutoIt rulez!", $tLayout, $hFamily, 0, 85, 0) ; Ajoute le contour de la chaîne au Path

    $aSize = WinGetPos($hGUI) ; Obtient windowsize

    $hRegion = _GDIPlus_RegionCreateFromRect(0, 0, 110, $aSize[3]) ; Crée une région à partir d'un rectangle
    _GDIPlus_RegionCombineRect($hRegion, $aSize[2] - 110, 0, 110, $aSize[3], 2) ; Combine rectangle_left ET rectangle_right
    _GDIPlus_RegionCombinePath($hRegion, $hPath, 3) ; Combine- XOR les rectangles contenant les chaînes

    $hRGN = _GDIPlus_RegionGetHRgn($hRegion, 0) ; Crée une région GDI à partir de la région GDI+
    _WinAPI_SetWindowRgn($hGUI, $hRGN) ; Définit une région partie de la fenêtre

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

    ; Nettoie les ressources
    _GDIPlus_FontFamilyDispose($hFamily)
    _WinAPI_DeleteObject($hRGN)
    _GDIPlus_RegionDispose($hRegion)
    _GDIPlus_PathDispose($hPath)
    _GDIPlus_Shutdown()
EndFunc   ;==>Example