UDF > WinAPIEx > GDI > Line & Curve >


_WinAPI_AngleArc

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 )

Paramètres

$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.

Valeur de retour

Succès: Retourne True
Échec: Retourne False

Remarque

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.

Voir aussi

Consultez AngleArc dans la librairie MSDN.

Exemple

; 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