RadioButton Problem: "Aktuelles Tab auf Top setzen"

  • Moin zusammen.

    "Aktuelles Tab auf Top setzen"
    Ich habe 6 TabSheet's. Wenn ich z. B. auf den 3. TabSheet gehe und dann den Radio-Button "Aktuelles Tab auf Top setzen", dann soll jedes mal wenn ich auf Button 1 klicke, alle TabSheets angezeigt werden, aber aktiv der TabSheet 6. Also so als wenn ich den ausgewählt habe.

    Derzeitiger Entwurf:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #Include <GuiEdit.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 928, 617, -1, -1)
    $Button1 = GUICtrlCreateButton("Tabs auswählen", 8, 73, 105, 17, 0)
    $Button2 = GUICtrlCreateButton("TXT Anzeigen", 8, 92, 105, 17, 0)
    $Button3 = GUICtrlCreateButton("E-Mail Daten", 8, 111, 105, 17, 0)
    $Button4 = GUICtrlCreateButton("Button4", 8, 131, 105, 17, 0)
    $Button5 = GUICtrlCreateButton("Button5", 8, 151, 105, 17, 0)
    $Button6 = GUICtrlCreateButton("Button6", 8, 170, 105, 17, 0)
    $Tab1 = GUICtrlCreateTab(120, 48, 801, 561)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
    $TabSheet4 = GUICtrlCreateTabItem("TabSheet4")
    $TabSheet5 = GUICtrlCreateTabItem("TabSheet5")
    $TabSheet6 = GUICtrlCreateTabItem("TabSheet6")
    GUICtrlCreateTabItem("")
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Radio1 = GUICtrlCreateRadio("Aktuelles Tab auf Top setzen", 760, 51, 161, 17)
    $Label1 = GUICtrlCreateLabel("MENÜ", 32, 48, 60, 21)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x0000FF)
    $Group1 = GUICtrlCreateGroup("TXT Informationen", 120, 48, 801, 561)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)

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

    $Label2 = GUICtrlCreateLabel("", 130, 68, 781, 531)
    $Label2b = _GUICtrlEdit_SetText($Label2, FileRead(@ScriptDir & "\test.txt"))

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetState($Group1, $GUI_HIDE)

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

    aus_alle()
    an_button1()

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

    Case $Button1
    aus_alle()
    an_button1()

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

    case $Button2
    aus_alle()
    an_button2()

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


    case $Button3
    aus_alle()


    Case $Button4
    aus_alle()

    case $Button5
    aus_alle()


    Case $Button6
    aus_alle()

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

    EndSwitch
    WEnd

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

    Func aus_alle()
    GUICtrlSetState($Tab1, $GUI_HIDE )
    GUICtrlSetState($Radio1, $GUI_HIDE)
    GUICtrlSetState($Group1, $GUI_HIDE)
    GUICtrlSetState($Label2, $GUI_HIDE)
    EndFunc

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

    Func an_button1()
    GUICtrlSetState($Tab1, $GUI_SHOW)
    GUICtrlSetState($Radio1, $GUI_SHOW)
    EndFunc

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

    Func an_button2()
    GUICtrlSetState($Group1, $GUI_SHOW)
    GUICtrlSetState($Label2, $GUI_SHOW)
    EndFunc

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

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    2 Mal editiert, zuletzt von Alina (13. September 2009 um 13:31)

    • Offizieller Beitrag

    Hi Alina.

    Erkläre mal ein bischen genauer. Welche Logic steckt dahinter? TabSheet3 wählen und Radio drücken, soweit so gut.
    Wenn dann der Button 1 gedrückt wird, warum soll dann TabSheet6 on Top? Verstehe dein Anliegen nicht wirklich.

  • so?

    Spoiler anzeigen
    [autoit]

    #include <GuiEdit.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiTab.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 928, 617, -1, -1)
    $Button1 = GUICtrlCreateButton("Tabs auswählen", 8, 73, 105, 17, 0)
    $Button2 = GUICtrlCreateButton("TXT Anzeigen", 8, 92, 105, 17, 0)
    $Button3 = GUICtrlCreateButton("E-Mail Daten", 8, 111, 105, 17, 0)
    $Button4 = GUICtrlCreateButton("Button4", 8, 131, 105, 17, 0)
    $Button5 = GUICtrlCreateButton("Button5", 8, 151, 105, 17, 0)
    $Button6 = GUICtrlCreateButton("Button6", 8, 170, 105, 17, 0)
    $Tab1 = GUICtrlCreateTab(120, 48, 801, 561)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
    $TabSheet4 = GUICtrlCreateTabItem("TabSheet4")
    $TabSheet5 = GUICtrlCreateTabItem("TabSheet5")
    $TabSheet6 = GUICtrlCreateTabItem("TabSheet6")
    GUICtrlCreateTabItem("")
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Radio1 = GUICtrlCreateRadio("Aktuelles Tab auf Top setzen", 760, 51, 161, 17)
    $Label1 = GUICtrlCreateLabel("MENÜ", 32, 48, 60, 21)
    GUICtrlSetFont(-1, 14, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x0000FF)
    $Group1 = GUICtrlCreateGroup("TXT Informationen", 120, 48, 801, 561)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)

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

    $Label2 = GUICtrlCreateLabel("", 130, 68, 781, 531)
    $Label2b = _GUICtrlEdit_SetText($Label2, FileRead(@ScriptDir & "\test.txt"))

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetState($Group1, $GUI_HIDE)

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

    aus_alle()
    an_button1()

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $toptab=0
    While 1

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

    if guictrlread($radio1)=$GUI_CHECKED Then ;wenn der Checkbutton nicht gesetzt ist
    $toptab= _GUICtrlTab_GetCurFocus($tab1) ;Index des Fokussierten Tabs merken
    Msgbox(0,0,"Tabindex :"&$toptab&" gesetzt",1) ; nachricht
    GUICtrlSetstate($radio1,$GUI_UNCHECKED) ; Checkbutton zurücksetzen
    endif

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    ;**********************

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

    Case $Button1
    _GUICtrlTab_setCurFocus($tab1,$toptab) ;gemerkten Tab auswählen
    aus_alle()
    an_button1()

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

    case $Button2
    aus_alle()
    an_button2()

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

    case $Button3
    aus_alle()

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

    Case $Button4
    aus_alle()

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

    case $Button5
    aus_alle()

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

    Case $Button6
    aus_alle()

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

    EndSwitch
    WEnd

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

    Func aus_alle()
    GUICtrlSetState($Tab1, $GUI_HIDE )
    GUICtrlSetState($Radio1, $GUI_HIDE)
    GUICtrlSetState($Group1, $GUI_HIDE)
    GUICtrlSetState($Label2, $GUI_HIDE)
    EndFunc

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

    Func an_button1()
    GUICtrlSetState($Tab1, $GUI_SHOW)
    GUICtrlSetState($Radio1, $GUI_SHOW)
    EndFunc

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

    Func an_button2()
    GUICtrlSetState($Group1, $GUI_SHOW)
    GUICtrlSetState($Label2, $GUI_SHOW)
    EndFunc

    [/autoit]
  • Andy:
    Vielen Dank, genau so habe ich es gemeint.

    @ Raupi:
    Ich fülle die Tabs noch mit insges. ca. 70 - 100 Checkboxen, Radiobutten, Inputfelder, evtl. UpDowns. Dazu kommen evtl. noch Tooltips.
    Der Anwender soll später selber entscheiden, welches TabSheet er immer als erstes benötigt, wenn der auf die TabSheet-Auswahl geht.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl