UDF > GDIPlus > Region >


_GDIPlus_RegionCombinePath

Modifie une r�gion (Region) avec la partie d'elle-m�me qui coupe l'int�rieur d'un trac� sp�cifi� (GraphicsPath)

#include <GDIPlus.au3>
_GDIPlus_RegionCombinePath ( $hRegion, $hPath [, $iCombineMode = 2] )

Param�tres

$hRegion Handle de l'objet Region
$hPath Handle de l'objet GraphicsPath qui sp�cifie le trac� � utiliser pour modifier la r�gion
$iCombineMode [optionnel] Mode de combinaison qui sp�cifie comment la r�gion est combin�e avec le trac�:
    0 - Replace: la r�gion existante est remplac�e par la nouvelle r�gion
    1 - Intersect: La r�gion existante est remplac�e par l'intersection d'elle-m�me et la nouvelle r�gion
    2 - Union: la r�gion existante est remplac�e par la r�union d'elle-m�me et de la nouvelle r�gion
    3 - Xor: la r�gion existante est remplac�e par le r�sultat de l'ex�cution d'un OU exclusif sur les deux r�gions.
Un point est dans le OU exclusif de deux r�gions si il est dans une r�gion ou l'autre mais pas dans les deux r�gions.
    4 - Exclude: La r�gion existante est remplac�e par la portion d'elle-m�me qui est en dehors de la nouvelle r�gion
    5 - Complement: La r�gion existante est remplac�e par la nouvelle portion de la 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*).

En relation

_GDIPlus_RegionCombineRect, _GDIPlus_RegionCombineRegion

Voir aussi

Consultez GdipCombineRegionPath 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