UDF > GDIPlus > Graphics >


_GDIPlus_GraphicsSetClipRect

Redéfinit la région de découpage d'un objet Graphics à une région qui est la combinaison d'elle-même et d'un rectangle

#include <GDIPlus.au3>
_GDIPlus_GraphicsSetClipRect ( $hGraphics, $nX, $nY, $nWidth, $nHeight [, $iCombineMode = 0] )

Paramètres

$hGraphics Handle de l'objet Graphics
$nX Coordonnée X du coin supérieur gauche du rectangle
$nY Coordonnée Y du coin supérieur gauche du rectangle
$nWidth Largeur du rectangle
$nHeight Hauteur du rectangle
$iCombineMode [optionnel] Mode de combinaison des régions:
    0 - La région existante est remplacée par la nouvelle région
    1 - La région existante est remplacée par l'intersection d'elle-même et de la nouvelle région
    2 - La région existante est remplacée par l'union d'elle-même et de la nouvelle région
    3 - La région existant est remplacée par le résultat de l'exécution d'un OU exclusif sur les deux régions
    4 - La région existante est remplacée par la portion d'elle-même qui est en dehors de la nouvelle région
    5 - La région existante est remplacée par la portion de la nouvelle région qui est en dehors de la région existante

Valeur de retour

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

Voir aussi

Consultez GdipSetClipRect dans la Librairie MSDN.

Exemple

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

Example()

Func Example()
    Local $hGUI = GUICreate("GDI+", 320, 240)
    GUICtrlCreateButton("Button", 20, 20, 100, 25)
    GUICtrlCreateSlider(100, 100, 100, 30)
    GUISetState(@SW_SHOW)

    _GDIPlus_Startup()
    Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; Crée un objet graphique à partir d'un handle fenêtre

    _GDIPlus_GraphicsSetClipRect($hGraphics, 20, 20, 100, 25, 4) ; Soustrait la zone du bouton de la zone de découpage
    _GDIPlus_GraphicsSetClipRect($hGraphics, 100, 100, 100, 30, 4) ; Soustrait la zone du slider de la zone de découpage

    Local $iTimer = TimerInit()
    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
        If TimerDiff($iTimer) > 100 Then
            _GDIPlus_GraphicsClear($hGraphics, BitOR(0xFF000000, Random(0, 0xFFFFFF, 1)))
            $iTimer = TimerInit()
        EndIf
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Nettoie les ressources
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
EndFunc   ;==>Example