Gliederung in einer Msgbox

  • Hi an alle,
    ich wollte euch Fragen ob man eine Msgbox gliedern kann.
    Ich möchte nämlich, dass man wenn man auf den Button Hilfe geht, eine gegliederte Anleitung des Scripts steht.

    Mfg,
    Koniz

  • Kannst du so machen:

    [autoit]


    MsgBox(1, "Titel", "Anleitung:" & @CRLF & "1. Neu starten" & @CRLF & "2. Beenden" & @CRLF & @CRLF & @TAB & " - Punkt1: " & @CRLF & @TAB & " - Punkt2: ")

    [/autoit]
  • Hallo Koniz,

    wäre es nicht vernünftiger anstatt einer MsgBox eine Extra-Gui mit einem Treeview zu verwenden.
    Ansonsten müsstest du mit @CRLF und @TAB den Text formatieren,

    mfg (Auto)Bert

  • Hallo Koniz,

    ich meinte eine eigene Gui mit links einem Treeview-Control und rechts den dazugehörigen Erläuterungen. Hier das Beispiel aus der Hilfe zu GuiCtrlcreateTreeView:

    Spoiler anzeigen
    [autoit]

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

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $treeview, $generalitem, $displayitem, $aboutitem, $compitem
    Local $useritem, $resitem, $otheritem, $startlabel, $aboutlabel, $compinfo
    Local $togglebutton, $infobutton, $statebutton, $cancelbutton
    Local $msg, $item, $hItem, $text

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

    GUICreate("Meine GUI mit Treeview", 350, 215)

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

    $treeview = GUICtrlCreateTreeView(6, 6, 150, 150, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
    $generalitem = GUICtrlCreateTreeViewItem("Allgemein", $treeview)
    GUICtrlSetColor(-1, 0x0000C0)
    $displayitem = GUICtrlCreateTreeViewItem("Anzeige", $treeview)
    GUICtrlSetColor(-1, 0x0000C0)
    $aboutitem = GUICtrlCreateTreeViewItem("Über", $generalitem)
    $compitem = GUICtrlCreateTreeViewItem("Computer", $generalitem)
    $useritem = GUICtrlCreateTreeViewItem("Benutzer", $generalitem)
    $resitem = GUICtrlCreateTreeViewItem("Auflösung", $displayitem)
    $otheritem = GUICtrlCreateTreeViewItem("Sonstiges", $displayitem)

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

    $startlabel = GUICtrlCreateLabel("Treeview Demo", 160, 90, 100, 20)
    $aboutlabel = GUICtrlCreateLabel("Dieses kleine Skript demonstriert die Benutzung eines Treeview Controls.", 160, 70, 150, 60)
    GUICtrlSetState(-1, $GUI_HIDE) ; Versteckt den "aboutlabel"-Text während der Initialisierung
    $compinfo = GUICtrlCreateLabel("Name:" & @TAB & @ComputerName & @LF & "OS:" & @TAB & @OSVersion & @LF & "SP:" & @TAB & @OSServicePack, 160, 30, 200, 80)
    GUICtrlSetState(-1, $GUI_HIDE) ; Versteckt den "compinfo"-Text während der Initialisierung

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

    GUICtrlCreateLabel("", 0, 170, 350, 2, $SS_SUNKEN)
    $togglebutton = GUICtrlCreateButton("&Umschalten", 35, 185, 70, 20)
    $infobutton = GUICtrlCreateButton("&Info", 105, 185, 70, 20)
    $statebutton = GUICtrlCreateButton("Auf/Zu", 175, 185, 70, 20)
    $cancelbutton = GUICtrlCreateButton("&Abbrechen", 245, 185, 70, 20)

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

    GUICtrlSetState($generalitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expandiert den "Allgemein"-Tree und stellt ihn im Stil 'fett' dar
    GUICtrlSetState($displayitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expandiert den "Anzeige"-Tree und stellt ihn im Stil 'fett' dar

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $cancelbutton Or $msg = $GUI_EVENT_CLOSE
    ExitLoop

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

    Case $msg = $togglebutton ; Schriftstil 'Fett' ein/ausschalten
    If BitAND(GUICtrlRead($generalitem), $GUI_DEFBUTTON) Then
    GUICtrlSetState($generalitem, 0)
    GUICtrlSetState($displayitem, 0)
    Else
    GUICtrlSetState($generalitem, $GUI_DEFBUTTON)
    GUICtrlSetState($displayitem, $GUI_DEFBUTTON)
    EndIf

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

    Case $msg = $infobutton
    $item = GUICtrlRead($treeview) ; Holt die Control-ID des aktuell gewählten Treeview-Items
    If $item = 0 Then
    MsgBox(64, "Treeview Demo", "Momentan ist kein Eintrag markiert")
    Else
    $text = GUICtrlRead($item, 1) ; Holt den Text des Treeview-Items
    If $text == "" Then
    MsgBox(16, "Fehler", "Fehler während der Abfrage des Treeview-Items")
    Else
    MsgBox(64, "Treeview Demo", "Aktuell gewähltes Item ist: " & $text) ; $advmsg[0] enthält den Text und $advmsg[1] den Statuswert des Treeview-Items
    EndIf
    EndIf

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

    Case $msg = $statebutton ; Expandiert oder versteckt den markierten Tree
    $item = GUICtrlRead($treeview)
    If $item > 0 Then
    $hItem = GUICtrlGetHandle($item)
    GUICtrlSendMsg($treeview, $TVM_EXPAND, $TVE_TOGGLE, $hItem)
    EndIf

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

    ; Die folgenden Items verstecken die anderen Labels (erster und zweiter Parameter) und zeigen anschließend die 'eigenen' Labels (dritter und vierter Parameter)
    Case $msg = $generalitem
    GUIChangeItems($aboutlabel, $compinfo, $startlabel, $startlabel)

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

    Case $msg = $aboutitem
    GUICtrlSetState($compinfo, $GUI_HIDE)
    GUIChangeItems($startlabel, $startlabel, $aboutlabel, $aboutlabel)

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

    Case $msg = $compitem
    GUIChangeItems($startlabel, $aboutlabel, $compinfo, $compinfo)
    EndSelect
    WEnd

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

    GUIDelete()
    EndFunc ;==>Example

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

    Func GUIChangeItems($hidestart, $hideend, $showstart, $showend)
    Local $idx

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

    For $idx = $hidestart To $hideend
    GUICtrlSetState($idx, $GUI_HIDE)
    Next
    For $idx = $showstart To $showend
    GUICtrlSetState($idx, $GUI_SHOW)
    Next
    EndFunc ;==>GUIChangeItems

    [/autoit]

    mfg (Auto)Bert