UDF > WinAPIEx > GDI > Regions >


_WinAPI_CreatePolygonRgn

Cr�e une r�gion polygonale

#include <WinAPIGdi.au3>
_WinAPI_CreatePolygonRgn ( Const ByRef $aPoint [, $iStart = 0 [, $iEnd = -1 [, $iMode = 1]]] )

Param�tres

$aPoint Le tableau 2D ([x1, y1], [x2, y2],..., [xN, yN]) qui contient les sommets du polygone, en unit�s logiques.
Le polygone est suppos� ferm�. Chaque sommet ne peut �tre sp�cifi� qu'une seule fois.
$iStart [optionnel] L'index du premier sommet du polygone.
$iEnd [optionnel] L'index du dernier sommet du polygone.
$iMode [optionnel] Le mode de remplissage utilis� pour d�terminer les pixels qui sont dans la r�gion. Ce param�tre peut prendre l'une des valeurs suivantes:
    $ALTERNATE (par d�faut)
    $LIQUIDATION

Valeur de retour

Succ�s: Retourne le handle de la r�gion.
�chec: Retourne 0.

Remarque

Lorsque vous n'avez plus besoin de l'objet r�gion, appelez la fonction _WinAPI_DeleteObject() pour le supprimer.

En relation

_WinAPI_DeleteObject

Voir aussi

Consultez CreatePolygonRgn dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>

; Cr�e une GUI
Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 500, 475, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)
Local $idButton = GUICtrlCreateButton('Exit', 215, 255, 70, 23)
GUIRegisterMsg($WM_NCHITTEST, 'WM_NCHITTEST')
GUISetBkColor(0xAA0000)

; Cr�e une r�gion polygonale et la d�finit dans la fen�tre
Local $aPoint[10][2] = [[0, 180],[190, 180],[250, 0],[308, 180],[500, 180],[344, 294],[404, 475],[250, 362],[94, 475],[154, 294]]
Local $hRgn = _WinAPI_CreatePolygonRgn($aPoint)
_WinAPI_SetWindowRgn($hForm, $hRgn, 0)

GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $idButton

Func WM_NCHITTEST($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg, $wParam, $lParam

    Return $HTCAPTION
EndFunc   ;==>WM_NCHITTEST