Crée un objet Region GDI à partir d'un objet Region GDI+
#include <GDIPlus.au3>
_GDIPlus_RegionGetHRgn ( $hRegion [, $hGraphics = 0] )
$hRegion | Handle de l'objet Region GDI+ |
$hGraphics | [optionnel] Handle de l'objet Graphics qui contient les transformations nécessaires pour convertir les coordonnées universelles en coordonnées du périphérique pour la région |
Succès: | Retourne le handle de l'objet Region GDI (HRGN). |
Échec: | Retourne 0 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*). |
Consultez GdipGetRegionHRgn dans la Librairie MSDN.
#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