Page 1 of 1

Listbox mit Hotkey weiterblättern von v1 auf v2 (2013-2023)

Posted: 17 Jul 2023, 12:50
by Helmut2
Hallo zusammen,

im Jahre 2013 hatte ich ein Script für Autohotkey v1, mit Hilfe von Mitgliedern aus dem alten Forum und vielem Ausprobieren hinbekommen.
Damals hatte ich noch Windows7.

Nun habe ich gedacht, nachdem die Version V2.04 herausgekommen ist und zu meinem 10 jährigen Scriptjubiläum, einfach mal umsatteln auf die neue Version v2.
Ist leider nicht so einfach, wie gedacht.
Dann habe ich es mit dem Scriptconverter probiert der hier auch im Forum genannt wurde:
AHK-v2-script-converter-master
Das funktioniert leider auch nicht.
Beispiele für Version 2 die ähnlich sind, habe ich auch nicht gefunden.

Wäre es möglich mir auf die Sprünge zu helfen und dieses Grundgerüst auf der Version 2.04 zum Laufen zu bringen.
Das Script läuft, mit der alten Version v1 auf Windows 10, es gibt also keine Not, aber die Version v2 würde ich damit trotzdem gerne zum Laufen bringen.

hier noch mal das Script:
Spoiler
und hier der Link zum alten Forum:
https://www.autohotkey.com/board/topic/97706-aus-2-mach-1-listbox-mit-hotkey-weiterbl%C3%A4ttern/

Für eine Hilfe und die Mühe im Voraus vielen Dank

Gruß
Helmut

Re: Listbox mit Hotkey weiterblättern von v1 auf v2 (2013-2023)  Topic is solved

Posted: 19 Jul 2023, 06:30
by just me
Moin @Helmut2,

es fühlt sich immer noch merkwürdig an, wenn man ein altes AHK-GUI-Skript, dass (fast) nur AHK 1.0 Syntax verwendet, nach v2 portiert. Man kann es kaum wiedererkennen. Sei's drum, ich habe versucht, möglichst viel vom 'klassischen' v1-Stil rüberzuretten:

Code: Select all

GuiF7 := Gui( , "Fenstername1")
GuiF7.OnEvent("Close", GuiF7_Hide)
GuiF7.OnEvent("Escape", GuiF7_Hide)
GuiF7.AddListBox("w180 r7 Choose1 vLB", ["Text1", "Text2", "Text3", "Text4", "Text5"])
GuiF7["LB"].OnEvent("DoubleClick", GuiF7_Action)
GuiF7.AddButton("Default vBtn", "Input")
GuiF7["Btn"].OnEvent("Click", GuiF7_Action)
GuiF7.Shown := False ; wir definieren eine eigene Eigenschaft (Property) für den Status des Fensters
; ==================================================================================================
GuiF8 := Gui( , "Fenstername2")
GuiF8.OnEvent("Close", GuiF8_Hide)
GuiF8.OnEvent("Escape", GuiF8_Hide)
GuiF8.AddListBox("w180 r7 Choose1 vLB", ["Text6", "Text7", "Text8", "Text9", "Text10"])
GuiF8["LB"].OnEvent("DoubleClick", GuiF8_Action)
GuiF8.AddButton("Default vBtn", "Input")
GuiF8["Btn"].OnEvent("Click", GuiF8_Action)
GuiF8.Shown := False ; wir definieren eine eigene Eigenschaft (Property) für den Status des Fensters
; ==================================================================================================
F7:: ; Hotkeytaste F7
{
   If GuiF7.Shown {
      If GuiF7["LB"].Text = "Text5"
         Send "{Home}"
      Else
         Send "{Down}"
   }
   Else {
      If GuiF8.Shown
         GuiF8_Hide()
      GuiF7["LB"].Choose(1) ; evtl. Auswahl zurücksetzen ???
      GuiF7.Show()
      GuiF7.Shown := True
   }
}
GuiF7_Hide(*) {
   GuiF7.Hide()
   GuiF7.Shown := False
}
GuiF7_Action(*) {
   GuiF7_Hide()
   Switch GuiF7["LB"].Text
   {
      Case "Text1":
         MsgBox "Text1 gewählt"
      Case "Text2":
         MsgBox "Text2 gewählt"
      Case "Text3":
         MsgBox "Text3 gewählt"
      Case "Text4":
         MsgBox "Text4 gewählt"
      Case "Text5":
         MsgBox "Text5 gewählt"
   }
}
; ==================================================================================================
F8:: ; Hotkeytaste F8
{
   If GuiF8.Shown {
      If GuiF8["LB"].Text = "Text10"
         Send "{Home}"
      Else
         Send "{Down}"
   }
   Else {
      If GuiF7.Shown
         GuiF7_Hide()
      GuiF8["LB"].Choose(1) ; evtl. Auswahl zurücksetzen ???
      GuiF8.Show()
      GuiF8.Shown := True
   }
}
GuiF8_Hide(*) {
   GuiF8.Hide()
   GuiF8.Shown := False
}
GuiF8_Action(*) {
   GuiF8_Hide()
   Switch GuiF8["LB"].Text
   {
      Case "Text6":
         MsgBox "Text6 gewählt"
      Case "Text7":
         MsgBox "Text7 gewählt"
      Case "Text8":
         MsgBox "Text8 gewählt"
      Case "Text9":
         MsgBox "Text9 gewählt"
      Case "Text10":
         MsgBox "Text10 gewählt"
   }
}
Grüße, just me

Re: Listbox mit Hotkey weiterblättern von v1 auf v2 (2013-2023)

Posted: 19 Jul 2023, 08:48
by Helmut2
Hallo just me,

vielen, vielen Dank für die Mühe und für die Antwort.
Das sieht so schön übersichtlich aus. Ich freue mich sehr darüber.
Jetzt werde ich mal versuchen, wo ich endlich den Anfang habe, die Reste
von meinem Makro, in diesem Stil weiter zu bearbeiten.

Grüße, Helmut