GUICtrlSetGraphic Koordinaten

  • Hey Community,

    habe ein kleines Verständnisproblem mit den Graphics.

    Skript:

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 600,600)
    GUISetBkColor(0x000000)
    _Box(80,200)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Func _Box($x, $y)
    $first = GUICtrlCreateGraphic(0, 0, $x, $y)
    GUICtrlSetBkColor(-1, 0xa0ffa0)
    GUICtrlSetGraphic(-1, $GUI_GR_LINE, $x, $y)

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

    $second = GUICtrlCreateGraphic($x,$y)
    GUICtrlSetStyle(-1, $SS_NOTIFY)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, '0xFFF','0xDEDEDE')
    GUICtrlSetGraphic(-1, $GUI_GR_RECT, $x, $y, 60, 60)

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

    $Label1 = GUICtrlCreateLabel("Test", $x ,$y, 52, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x808000)
    EndFunc

    [/autoit]

    Wieso werden, nachdem die Graphic $first gezeichnet wurde, die Koordinaten von Graphic $second auf die von $first dazu addiert?

    Ich möchte eigentlich beide Graphics von Fensterkoordinaten aus zeichen.

    EDIT: Die Graphic $second sollte an der Stelle von dem $Label1 gezeichnet werden.

    Einmal editiert, zuletzt von Jautois (20. Februar 2011 um 01:08)

  • Hallo Jautois,

    leider habe ich mich auch noch nicht mit diesem Element eingehend beschäftigt.

    Zitat von Auszug aus Hilfe

    Bemerkungen
    Die Position des Punktes (x,y) ist relativ zu den GUICtrlCreateGraphic Koordinaten. Er kann außerhalb des Graphic-Controls aber innerhalb des GUI-Fensters liegen.

    das heisst du müsstest die Zeile 29 so anpassen:

    [autoit]

    GUICtrlSetGraphic(-1, $GUI_GR_RECT, 0, 0, 60, 60)

    [/autoit]

    mfg autoBert

  • Danke, das war auch schon die Lösung! Hatte es völlig vergessen, dass die Koordinaten sich auf die zuvor erstelle Graphic geziehen.

    Danke nochmals.