Funktionreferenz


_WinAPI_BeginPath


Opens a path bracket in the specified device context

#include <WinAPIGdi.au3>
_WinAPI_BeginPath ( $hDC )

Parameter

$hDC Handle to the device context.

Rückgabewert

Success: True
Failure: False

Bemerkungen

After a path bracket is open, an application can begin calling GDI drawing functions to define the points that lie in the path.
An application can close an open path bracket by calling the _WinAPI_EndPath() function.

When an application calls _WinAPI_BeginPath() for a device context, any previous paths are discarded from that device context.

Verwandte Funktionen

_WinAPI_EndPath

Siehe auch

Suche nach BeginPath in der MSDN Bibliothek.

Beispiel

#include <APIGdiConstants.au3>
#include <GUIConstantsEx.au3>
#include <SendMessage.au3>
#include <StaticConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPIMisc.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>

_Example()

Func _Example()
    ; Create GUI
    Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 241, 241)
    #forceref $hForm
    Local $idPic = GUICtrlCreatePic('', 0, 0, 241, 241)
    Local $hPic = GUICtrlGetHandle($idPic)

    ; Create 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)

    ; Create path
    _WinAPI_BeginPath($hMemDC)
    _WinAPI_MoveTo($hMemDC, 220, 78)
    _WinAPI_LineTo($hMemDC, 170, 218)
    _WinAPI_LineTo($hMemDC, 70, 218)
    _WinAPI_LineTo($hMemDC, 20, 78)
    _WinAPI_SetArcDirection($hMemDC, $AD_CLOCKWISE)
    _WinAPI_ArcTo($hMemDC, _WinAPI_CreateRectEx(49, 22, 143, 143), 49, 78, 192, 78)
    _WinAPI_CloseFigure($hMemDC)
    _WinAPI_Ellipse($hMemDC, _WinAPI_CreateRectEx(70, 44, 101, 101))
    _WinAPI_Ellipse($hMemDC, _WinAPI_CreateRectEx(90, 64, 61, 61))
    _WinAPI_EndPath($hMemDC)

    ; Stroke outline, and fills path's interior
    Local $hBrush = _WinAPI_SelectObject($hMemDC, _WinAPI_GetStockObject($DC_BRUSH))
    Local $hPen = _WinAPI_SelectObject($hMemDC, _WinAPI_GetStockObject($DC_PEN))
    _WinAPI_SetDCBrushColor($hMemDC, 0xFFC000)
    _WinAPI_SetDCPenColor($hMemDC, 0xDD0000)
    _WinAPI_StrokeAndFillPath($hMemDC)

    ; Release objects
    _WinAPI_DeleteObject(_WinAPI_SelectObject($hDC, $hBrush))
    _WinAPI_DeleteObject(_WinAPI_SelectObject($hDC, $hPen))
    _WinAPI_ReleaseDC($hPic, $hDC)
    _WinAPI_SelectObject($hMemDC, $hMemSv)
    _WinAPI_DeleteDC($hMemDC)

    ; Set bitmap to control
    _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