ComboboxEx in Tabs

  • Hey,

    Ich hatte vor so eine kleine Programm übersicht zu machen. Da ich dieses aber über ein Tab control steuere, bin ich auf das Problem gestoßen:

    Ich wollte gerne die icons von dem Programmen mir in der combobox mit anzeigen lassen. D.h. ich brauche ja ComboboxEx, doch diese lässt sich nur auf dem GUI platzieren und nicht in den Tabitems...

    Ich hatte sogar dran gedacht, ob man nicht eine normale combo box erstellt und diese dan mit states oder so, zu einer ComboboxEx macht (wenn soetwas überhaupt möglich ist o_O?)

    Ich kann auch leider nicht auf das Tab menü verzichten, da sonst das GUI einfach zu groß wird & es dan nicht mehr gut aussieht :/

    Ich Hoffe ihr versteht mein Problem und habt vll. ideen wie ich es lösen kann :)

    MfG Nico

    MfG - Mit freundlichen Grüssen

    die Welt liegt uns zu Füssen, den wir steh'n drauf

    wir geh'n drauf für ein Leben voller Schall und Rauch

    bevor wir fall'n, fall'n wir lieber auf.

  • Ich habs jetzt nicht getestet aber das sollte doch eigentlich gehen wenn du als $hWnd = GUICtrlGetHandle($Tab) vervendest. Oder wieso kannst du die Combobox nicht in ein Tabitem tun?

    Gruss Sahdowigor

  • Mhmm.. scheint nicht zu funktionieren...

    Das sieht ja bisher ganz simple so aus:

    Spoiler anzeigen
    [autoit]

    $Tab = GUICtrlCreateTabItem(" ---Verwaltung--- ")
    $hWnd = GUICtrlGetHandle($Tab)
    $hCombo = _GUICtrlComboBoxEx_Create($hWnd,"",296, 72, 145, 25)

    [/autoit]

    Nur leider zeigt er einfach keine ComboBox an. Wenn ich ihm das handel des Gui`s gebe, funktioniert es, allerdings ist die combobox dan auf allen tabs zu sehen (._.)

    Ich hoffe das es dafür eine Lösung gibt, aber danke für deine Idee, das hatte ich noch gar nicht getestet :)

    MfG Nico

    MfG - Mit freundlichen Grüssen

    die Welt liegt uns zu Füssen, den wir steh'n drauf

    wir geh'n drauf für ein Leben voller Schall und Rauch

    bevor wir fall'n, fall'n wir lieber auf.

    • Offizieller Beitrag

    Wenn du unbedingt _GUICtrlComboBoxEx_Create verwenden willst, dann must du nur das Control auf den anderen Tabs verstecken.
    Hier ein Beispiel von Melba23 aus dem EN Forum:

    Spoiler anzeigen
    [autoit]

    #Region - Timestamp
    ; 2012-07-30 05:44:37
    #EndRegion

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

    #include <GuiComboBoxEx.au3>
    #include <File.au3>
    ;#include <MsgBoxDJS.au3>
    #include <Process.au3>

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

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTab.au3>
    #include <WinAPI.au3>

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

    Global $Section, $tab, $combo, $tab0, $tab1, $tab2, $tab3, $gui
    ;$Debug_CB = False
    ;$Debug_TAB = False

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

    ;########################################################################################

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

    ;########################################################################################

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

    ;vérification du fichier ini
    $IniFile = (@ScriptDir & "\pc.ini")
    ; If FileExists($IniFile) = 0 Then
    ; MsgBox(16,"Erreur:","pc.ini non trouvé !")
    ; Exit
    ; EndIf
    $List_Pc = IniRead($IniFile, "LISTPC", "LIST", "")
    ;fin de vérif fichier ini
    ;########################################################################################
    ; ini
    ;$IP = IniRead($IniFile,$Section,"IP","")
    ;$PORT = IniRead($IniFile,$Section,"PORTUVNC","")
    ;$MAC = IniRead($IniFile,$Section,"MAC","")
    ;$PORT_WoL = IniRead($IniFile,$Section,"PORTWOL","")
    ;$MASK = IniRead($IniFile,$Section,"MASK","")

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

    ;########################################################################################

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

    Interface()

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

    Exit

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

    ;#####################- Interface -###################################################################
    Func Interface()
    Local $tab, $tab0_connexions, $tab0_OK, $tab0_S, $tab0_deconnecter
    Local $tab3, $tab3_OK, $tab3_start_pc1, $tab3_uvnc_pc1
    Local $tab1, $tab1_user, $tab1_pwd, $tab1_OK
    Local $tab2, $tab2_OK, $msg

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

    $gui = GUICreate("Sample", 380, 300, 500, 300)
    GUISetFont(9, 300)

    $tab = GUICtrlCreateTab(10, 10, 360, 280)

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

    $tab0_connexions = GUICtrlCreateTabItem("Tab 0")
    GUICtrlSetState(-1, $GUI_SHOW) ; will be display first
    $combo = _GUICtrlComboBoxEx_Create($gui, $List_Pc, 20, 60, 180, 300)
    $tab0_OK = GUICtrlCreateButton("Quit", 300, 250, 50, 30)
    ;...

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

    $tab1 = GUICtrlCreateTabItem("Tab 1")
    $tab1_start_pc1 = GUICtrlCreateButton("buttontab1", 220, 50, 80, 30)
    ;...

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

    $tab2 = GUICtrlCreateTabItem("Tab 2")
    GUICtrlCreateLabel("text", 45, 55, 150, 25)
    $tab2_user = GUICtrlCreateInput("", 180, 50, 150, 25)
    GUICtrlCreateLabel("text", 55, 105, 150, 25)
    ;...

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

    $tab3 = GUICtrlCreateTabItem("Tab 3")
    GUICtrlCreateLabel("stuff to write", 20, 40, 300, 30)
    $tab3_OK = GUICtrlCreateButton("Quit", 300, 250, 50, 30)
    ;...

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

    GUICtrlCreateTabItem("") ; end tabitem definition

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    ;If $msg = $GUI_EVENT_CLOSE Then ExitLoop ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

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

    Select
    Case $msg = $GUI_EVENT_CLOSE ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Return
    ;#####################- tab0 -###################################################################
    Case $msg = $tab0_OK
    ;blablabla
    Sleep("10")
    ;#####################- tab1 -###################################################################
    Case $msg = $tab2_user
    Sleep("10")
    ;#####################- tab2 -###################################################################
    Case $msg = $tab3_OK
    Sleep("10")
    ;#####################- tab3 -###################################################################
    Case $msg = $tab1_start_pc1
    _GUICtrlComboBoxEx_BeginUpdate($combo)
    _GUICtrlComboBoxEx_EndUpdate($combo)
    _GUICtrlComboBoxEx_GetItemText($combo, _GUICtrlComboBoxEx_GetCurSel($combo), $Section)
    ;blablabla
    ;############################################
    Case $msg = $tab3_uvnc_pc1
    Sleep("10")
    ;############################################
    Case $msg = $tab3_OK
    Exit
    Case $tab ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ; Show/Hide the combo as required
    Switch GUICtrlRead($tab)
    Case 0
    WinSetState($combo, "", @SW_SHOW)
    Case Else
    WinSetState($combo, "", @SW_HIDE)
    EndSwitch

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

    EndSelect
    WEnd
    EndFunc ;==>Interface

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

    ;#####################################################################################################

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

    ;#####################################################################################################
    Func uVNC()
    ;blabla
    Sleep("10")
    EndFunc ;==>uVNC
    ;#####################################################################################################
    Func Start_Pc()
    ;blabla
    Sleep("10")
    EndFunc ;==>Start_Pc

    [/autoit]


    Btw.: Das Suchen dieser Lösung bei Google, hat 20 Sekunden gedauert.
    Suchworte: _GUICtrlComboBoxEx_Create Tab 2.Suchergebnis. http://www.autoitscript.com/forum/topic/11…rlcreatetab-pb/ ;)