HTML ähnliche Horizontale Linie (hr) erstellen

  • Hi,
    ist es möglich eine Horizontale Linie (hr in html) + Label zu erstellen und dieses Control dann so zu benutzen, dass man es einem parent zuweisen kann? Die hr möchte ich gerne so gestalten (siehe Anhang). Ein solches Gebilde benötigt mind. 2 verschieden controls, also kommt die Frage auf, ob man controls gruppieren kann, sodass ein handle entsteht und dieses auch einem parent handle zugeordnet werden kann, wie z.B. bei _GUICtrlListView_Create:

    Zitat

    _GUICtrlListView_Create ( $hWnd, ....)
    $hWnd - Handle to parent or owner window

  • Vielleicht als Child GUI. Das in eine schöne Funktion und noch eine Funktion um den Text zu ändern.

    Beispiel
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <StaticConstants.au3>

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

    $hGUI = GUICreate("Parent", 600)
    GUISetFont(9, 0, 0, "Segoe UI", $hGUI)
    GUICtrlCreateLabel("Name: ", 12, 90)
    GUICtrlCreateLabel(@ComputerName, 140, 90)
    GUICtrlCreateLabel("AutoIt Version: ", 12, 115)
    GUICtrlCreateLabel(@AutoItVersion, 140, 115)
    GUICtrlCreateButton("Pizza bestellen", 200, 90, 395, 40, 15)
    GUISetState()

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

    $hCtrl = GUICreate(0, 595, 30, 5, 50, $WS_POPUP, $WS_EX_MDICHILD, $hGUI)
    $hL = GUICtrlCreateLabel("System (26)", 5, 5, 75, 20)
    GUICtrlSetBkColor(-1, -2)
    GUICtrlSetFont(-1, 11, 0, 0, "Segoe UI")
    GUICtrlSetColor(-1, 0x5a8ed2)
    $aPos = ControlGetPos($hCtrl, "", $hL)
    GUICtrlCreateLabel("", $aPos[2] + 10, 15, 595 - $aPos[2] - 15, 2, $SS_SUNKEN)
    GUISetState()

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

    While GUIGetMsg()<>-3
    WEnd

    [/autoit]
    • Offizieller Beitrag

    Oder einfach so: ;)
    (Die GroupEx.au3 gibt es hier)

    [autoit]


    #include <GroupEx.au3>

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

    $hGui = GUICreate('Test')
    $tCtrl = _GuiCtrlGroup_Create($hGui, 'System (19)', 10, 10, 200, 10, -1, 0x00008B)
    _GuiCtrlGroup_Set($hGui, $tCtrl, 0x00008B, $_GROUPBORDER_TOPR)
    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $tCtrl.Text, $tCtrl.TopR
    ConsoleWrite('Klick' & @CRLF)
    EndSwitch
    WEnd

    [/autoit]
  • Oder eine einzeilige Lösung :D

    [autoit]

    GUICtrlCreateLabel("egal, was hier drin steht", $left, $top, $width, $height, $SS_ETCHEDHORZ)

    [/autoit]

    Edit: Oh, nicht ganz gelesen, aber das ist halt auch eine Möglichkeit