Beenden Button mit GDI +?

  • Hi,

    habe mit Gdi + ein Prog geschriebe (nur GUI), wollte mit Gdi+ Buttons erstellen, wie erkenne ich klicks???

    lg Pceumel

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include<gdiplus.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $PicDir = 'Pic'

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $GUI = GUICreate("GUI", 637, 445, -1, -1, $WS_POPUPWINDOW, 0)
    _GDIPlus_Startup()
    GUISetState(@SW_SHOW)
    $Graphic1 = _GDIPlus_GraphicsCreateFromHWND($GUI)
    load()
    #EndRegion ### END Koda GUI section ###
    GUIRegisterMsg($WM_PAINT, 'paint')
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func paint($hWndGUI, $MsgID, $WParam, $LParam)
    Load()
    EndFunc ;==>paint

    [/autoit] [autoit][/autoit] [autoit]

    Func Load()
    $bit = _GDIPlus_ImageLoadFromFile($PicDir & '\Hintergrund Blau.png')
    $button = _GDIPlus_ImageLoadFromFile($PicDir & '\Button Blau.png')
    _GDIPlus_GraphicsDrawImage($Graphic1, $bit, 0, 0)
    _GDIPlus_GraphicsDrawImage($Graphic1, $button, 480, 390)
    _GDIPlus_GraphicsDrawString($Graphic1, 'Beenden', 492, 402, 'Arial', 20)
    EndFunc ;==>Load

    [/autoit]


    und im anhang noch mit Pic´s

  • [autoit]


    #include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    If _isPressed(01) Then
    $aPos = MouseGetPos()
    ;Und diese Mausposition dann auswerten (Befindet sie sich auf dem Button?)
    EndIf

    [/autoit]


    danke
    aber wie auswerten???
    da bleibe ich dran scheitern :S

  • Brauchst halt die Koordinaten des Buttons;
    Die Mauskoordinaten werden wie folgt ausgegeben:

    [autoit]


    $aPos = MouseGetPos()
    $x = $aPos[0]
    $y = $aPos[1]

    [/autoit][autoit][/autoit][autoit]

    ;dann:
    If $x >= $xbutton And $x <= $xbutton + $widthbutton And $y >= $ybutton And $y <= $ybutton + $heightbutton Then
    Exit
    EndIf

    [/autoit]

    Variablen musst du noch anpassen!
    Im Prinzip wird geprüft:
    Ist die x Koordinate im Bereich Buttonx und der Weite des Buttons und die y Koordinate im Bereich Buttony und der Höhe des Buttons?