Probleme mit ComboBox

  • Hallo,

    anbei mein Code mit meiner Eingabemaske. Die ComboBoxen sind mit LEER oder A0 Format vorbelegt. Wenn ich die Felder ändere,
    die Maske verlassen und die Maske dann wieder öffne, sind die ComboBoxen nicht mit LEER oder A0 Format vorbelegt, sondern enthalten
    die vorher eingegebenen Werte. Wieso werden die Felder beim Öffnen der Maske nicht auf den Default-Wert gesetzt (in meinem Fall LEER und A0 Format) ?

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    ;#include "_ArraySize.au3"
    Dim $Plakate_Array[200][191]
    Dim $Plakate_Array_Check[200][191]
    Dim $leeres_Array[200][191]
    Dim $v_Text1,$v_Text2,$v_Text3,$v_Text4, $v_EURO1,$v_EURO2
    dim $Computername
    dim $user_name
    dim $v_user_name, $v_string
    Dim $zaehler = -1 ; Indexwert vor erstem Eintrag
    dim $iROWstart=0, $iROWend=0, $iCOLstart=0, $iCOLend=0, $DELIM=';'
    dim $inhalt_array
    ;Computername ermitteln (z.B. ALZ01WST49000999)
    $Computername = @ComputerName
    ;UserName ermitteln ([email='muster.mustermann@real.de'][/email] -> muster.mustermann heraussplitten)
    $user_name = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon", "DefaultUserName")
    $v_string = StringSplit($user_name, "@")
    $user_name = $v_string[1]

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

    #Region ### START Koda GUI section ### Form=c:\autoit\standard.kxf
    $Standard = GUICreate("Standard", 850, 671, 190, 112)
    GUISetFont(10, 400, 0, "Arial")
    $Hersteller = GUICtrlCreateLabel("Hersteller/Artikel:", 16, 8, 112, 20)
    $Standard_Text1 = GUICtrlCreateInput("", 160, 8, 300, 24)
    GUICtrlSetLimit(-1, 25)
    $Standard_Text2 = GUICtrlCreateInput("", 160, 32, 300, 24)
    GUICtrlSetLimit(-1, 25)
    $Standard_Text3 = GUICtrlCreateInput("", 160, 56, 300, 24)
    GUICtrlSetLimit(-1, 25)
    $Fussgrafik = GUICtrlCreateLabel("Fussgrafik:", 16, 312, 68, 20)
    $Standard_ART12 = GUICtrlCreateCombo("", 160, 312, 300, 25,$CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "00 keine|01 Text 1|02 Text 2|03 Text 3","")
    $Groesse = GUICtrlCreateLabel("Größe:", 500, 8, 45, 20)
    $Standard_Format = GUICtrlCreateCombo("", 600, 8, 169, 25,$CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "A0 hoch|A0 hoch|A1 hoch|A1 quer|A2 hoch","A0 hoch")
    $Zusatzgrafik = GUICtrlCreateLabel("Zusatzgrafik:", 500, 120, 78, 20)
    $Standard_ART15 = GUICtrlCreateCombo("", 600, 120, 209, 25,$CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "00 keine|01 XXX|02 YYYY|03 ZZZZ","")
    $Standard_Button_Hauptmenue = GUICtrlCreateButton("<< Hauptmenü", 24, 616, 250, 41, 0)
    ;GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Opt ("GUIOnEventMode",1)
    ;events
    ;GUISetOnEvent($GUI_EVENT_CLOSE, "onexit")
    GUICtrlSetOnEvent($Standard_Button_Hauptmenue,"_Hauptmenue")
    #Region ### START Koda GUI section ### Form=hauptmenue.kxf
    $Hauptmenue = GUICreate(" - Hauptmenue - ", 700, 780, 190, 114)
    $Label1 = GUICtrlCreateLabel("Was möchten Sie tun?", 64, 16, 475, 36)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Button_Standard = GUICtrlCreateButton("Standard", 80, 70, 270, 40, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Button_beenden = GUICtrlCreateButton("beenden", 80, 650, 270, 40, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Opt("GuiOnEventMode",1)
    ;events #########
    GUICtrlSetOnEvent($Button_Standard,"_Fenster_Standard")
    GUICtrlSetOnEvent($Button_beenden,"_Beenden")
    ;**********************************************************************************************************************
    GUISwitch($Hauptmenue)
    GUISetState(@SW_SHOW,$Hauptmenue)
    ;***********************************************************************************************************************
    While 1
    Sleep (500)
    WEnd
    Func _Fenster_standard()
    GUISetState(@sw_show,$Standard)
    GUISetState(@sw_hide,$Hauptmenue)
    endfunc
    Func _Hauptmenue()
    ;$iMsgBoxAnswer = MsgBox(36,"Exit","Wirklich beenden?")
    ;Select
    ; Case $iMsgBoxAnswer = 6 ;Ja
    GUISetState(@SW_SHOW,$Hauptmenue)
    GUISetState(@SW_HIDE,$Standard)
    ; Case $iMsgBoxAnswer = 7 ;Nein
    ;EndSelect
    EndFunc
    Func _beenden()
    $iMsgBoxAnswer = MsgBox(36,"Exit","Wollen Sie das Programm wirklich beenden?")
    Select
    Case $iMsgBoxAnswer = 6 ;Ja
    Exit
    Case $iMsgBoxAnswer = 7 ;Nein
    EndSelect
    EndFunc
    Func onExit()
    $iMsgBoxAnswer = MsgBox(36,"Exit","Wirklich beenden?")
    Select
    Case $iMsgBoxAnswer = 6 ;Ja
    Exit
    Case $iMsgBoxAnswer = 7 ;Nein
    EndSelect
    EndFunc

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

    VG Anfänger

    2 Mal editiert, zuletzt von anfänger (24. Juni 2009 um 11:59)

  • Hi,

    Du arbeitest zum Switchen zwischen Deinen Gui'smit @SW_Show und @SW_Hide. Damit erfolgt aber keine Neuinitialisierung der Gui Inhalte. Du blendest nur die Gui aus und wieder ein. Du brauchst eine Funktion, die beim Switchen Initialwerte setzt (s. _GUICtrlComboBox_SetCurSel ).

    ;-))

    Stefan

  • Hallo,
    danke für die Info, leuchtet ein, aber ich weiss nicht wo und wie ich das einbaue.
    Kann mir hier noch mal jemand weiterhelfen?

    Gruss
    Anfänger

    Einmal editiert, zuletzt von anfänger (24. Juni 2009 um 12:01)