Dessine un segment de ligne à partir du point courant et un arc de cercle
#include <WinAPIGdi.au3>
_WinAPI_AngleArc ( $hDC, $iX, $iY, $iRadius, $nStartAngle, $nSweepAngle )
$hDC | Handle du contexte de périphérique. |
$iX | La coordonnée x, en unités logiques, du centre du cercle. |
$iY | La coordonnée y, en unités logiques, du centre du cercle. |
$iRadius | Le rayon, en unités logiques, du cercle. |
$nStartAngle | L'angle de départ, en degrés, par rapport à l'axe des x. |
$nSweepAngle | L'angle au centre de l'arc, en degrés, par rapport à l'angle de départ. |
Succès: | Retourne True |
Échec: | Retourne False |
La fonction _WinAPI_AngleArc() dessine des lignes en utilisant le stylo courant. La figure n'est pas remplie.
Cette fonction déplace la position courante au point terminal de l'arc.
Consultez AngleArc dans la librairie MSDN.
; Cet exemple a disparu de la version V3.3.14.3 #include <APIGdiConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WinAPIGdi.au3> #include <WindowsConstants.au3> #include <WinAPISysWin.au3> Example() func Example() ; Crée une GUI Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 241, 241) Local $idPic = GUICtrlCreatePic('', 0, 0, 241, 241) Local $hPic = GUICtrlGetHandle($idPic) ; Crée un bitmap Local $hDC = _WinAPI_GetDC($hPic) Local $hMemDC = _WinAPI_CreateCompatibleDC($hDC) Local $hBitmap = _WinAPI_CreateCompatibleBitmapEx($hDC, 241, 241, _WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_3DFACE))) Local $hMemSv = _WinAPI_SelectObject($hMemDC, $hBitmap) ; L'arc de cercle Local $xCentre = 120, $yCentre = 120, $rayon = 100 Local $degStart = 0, $degArc = -60 _WinAPI_MoveTo($hMemDC, $xCentre + $rayon * Cos($degStart), $yCentre + $rayon * Sin($degStart)) _WinAPI_AngleArc($hMemDC, $xCentre, $yCentre, $rayon, $degStart, $degArc) ; Libère les objets _WinAPI_ReleaseDC($hPic, $hDC) _WinAPI_SelectObject($hMemDC, $hMemSv) _WinAPI_DeleteDC($hMemDC) ; Définit le bitmap dans le contrôle _SendMessage($hPic, $STM_SETIMAGE, 0, $hBitmap) Local $hObj = _SendMessage($hPic, $STM_GETIMAGE) If $hObj <> $hBitmap Then _WinAPI_DeleteObject($hBitmap) EndIf GUISetState(@SW_SHOW) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example