Hallo miteinander,
in meinem Script verwende ich eine ComboBox, um bestimmte Controls ein- bzw. auszublenden.
Derzeit realisiere ich es so, dass die ComboBox ausgelesen wird, wenn man einen Button drückt. Wird dann Wert XYZ gelesen blendet er halt Control 1 aus und blendet stattdessen Control 2 ein.
Das funktioniert soweit alles wunderbar.
Nun habe ich versucht, die Abfrage der ComboBox in die While Schleife zu packen (um von dem Button wegzukommen). Problem was dabei entstand, war natürlich, dass die entsprechenden Controls nun anfingen zu flackern, da das auslesen und Hide/Show nun dauerhaft liefen.
Ich habe ein wenig in der Hilfe gestöbert und konnte dabei noch einen Befehl entdecken, der den Status der Combobox abfragt, ob diese geöffnet oder geschlossen ist. Nun habe ich die Whileschleife dahingehend angepasst, dass er nur die Combobox ausliesst, wenn sie geöffnet ist.
Aber öffne ich jetzt die Combobox nur zum Spass ohne dabei was zu ändern/auszuwählen, fängt die GUI natürlich wieder an zu flackern.
Gibt es nicht eine elegante Möglichkeit, eine ComboBox einzubauen und diese mit einer Schleife abzufragen, ohne das über einen Button realisieren zu müssen?
Hier mal ein Teil meines Codes wo man aktuell gerade den Button erkennt, aber auch die Abfrage bereits in der Schleife (wo es abe noch flackert, wenn die ComboBox geöffnet wird)
Spoiler anzeigen
While Sleep(10)
If _GUICtrlComboBox_GetDroppedState($combo) Then
$read_combo = GUICtrlRead($combo)
If $read_combo = "Kontaktliste" Then
_KONTAKTLISTE()
ElseIf $read_combo = "Linkliste" Then
_LINKLISTE()
ElseIf $read_combo = "FSM 7.15" Then
_FSM()
ElseIf $read_combo = "GSMW v2/3/4" Then
_GSMW()
ElseIf $read_combo = "CT Knowlegde" Then
_CTKNOWLEDGE()
EndIf
EndIf
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $combo_button
$read_combo = GUICtrlRead($combo)
If $read_combo = "Kontaktliste" Then
_KONTAKTLISTE()
ElseIf $read_combo = "Linkliste" Then
_LINKLISTE()
ElseIf $read_combo = "FSM 7.15" Then
_FSM()
ElseIf $read_combo = "GSMW v2/3/4" Then
_GSMW()
ElseIf $read_combo = "CT Knowlegde" Then
_CTKNOWLEDGE()
EndIf
Case $button1
_KONTAKTLISTE_BUTTON()
Case $button2
_LINKLISTE_BUTTON()
Case $button3
_FSM_BUTTON()
Case $button4
_GSMW_BUTTON()
Case $button5
_CTKNOWLEDGE_BUTTON()
EndSwitch
WEnd