Hallo AutoIt-Profis,
ich benutze eine Combobox um Programme die ich oft benötige, schnell zu starten. Dabei kommt es häufig vor, dass ich das zuvor ausgewählte Proggi nochmals starten muss.
Beispiel: Ich klappe die Kombobox auf und wähle "Editor aus". Dieser startet. Ich bearbeite die Txt-Datei und schließe wenn fertig den Editor. Später benötige ich den Editor wieder. Jetzt würde ich gerne
den immer noch ausgewählten Eintrag anklicken können um das Programm erneut auszuführen. Normal muss man ja den Eintrag erneut auswählen. Wie kann man die Einträge "anklickbar" machen?
Einträge in ComboBox auch ausführen durch anklicken
-
hipfzwirgel -
21. Februar 2018 um 16:53 -
Erledigt
-
-
Hallo hipfzwirgel
Ohne die Combobox noch einmal aufzuklappen, weiß ich es auch nicht.
Am einfachsten wäre es, wenn du neben die Combobox noch einen Button "Starten" positionierst, über den du die Programme startest. Den kannst du erneut drücken.
-
- Offizieller Beitrag
AutoIt
Alles anzeigen#include <WinAPISys.au3> #include <WinAPI.au3> GUICreate('Test') Global $idCombo = GUICtrlCreateCombo('', 10, 10, 100) Global $sData = 'Editor|Calculator|CMD' GUICtrlSetData($idCombo, $sData, 'Editor') GUISetState() While True Switch GUIGetMsg() Case $GUI_EVENT_PRIMARYUP If _MouseInComboEdit($idCombo) Then _ActionCombo() Case -3 Exit EndSwitch WEnd Func _ActionCombo() Switch GUICtrlRead($idCombo) Case 'Editor' ShellExecute('notepad') Case 'Calculator' ShellExecute('calc') Case 'CMD' ShellExecute('cmd') EndSwitch EndFunc Func _MouseInComboEdit($_ID_Combo) Local $hCombo = GUICtrlGetHandle($_ID_Combo) Local $hEdit = _WinAPI_EnumChildWindows($hCombo)[1][0] Local $hParent = _WinAPI_GetParent($hEdit) Local $tMouse = _WinAPI_GetMousePos(False, $hParent) Local $tEdit = _WinAPI_GetWindowRect($hEdit) Return _WinAPI_PtInRect($tEdit, $tMouse) EndFunc
Du solltest aber noch zusätzlich prüfen, ob der Cursor beim Klick in der Combo steht.Das darfst du erst mal selbst probieren.Wenn es nicht klappt, melde dich wieder.EDIT: Ich hatte gerade Lust, da habe ich es erledigt.
-
Hallo Bugfix,
viiiiiieeeeeelllllllleeeeeennnnn Dank für das Scriptbeispiel. Ich habe es gerade für meine Proggi umgesetzt(es hat drei Comboboxen). Es funzt super.
Möge dir immer die Sonne scheinen und deine Hilfe mit reichlich Kindersegen und immerwährender Gesundheit vergolten werden