ok nächte Frage diesmla zum Deutschen
;---------------------------------GUI----------------------------------------------------------------------------------
; Sprungmarke (Label) der Subroutine für das Traymenü
GuiShow:
; Automatische Ränder/Abstände der Gui auf jeweils 10 Pixel für X und Y setzen
Gui, Margin, 10, 10
; GroupBox für die Hotkeybelegung
; Optionen:
; w500 : Breite = 500 Pixel
; h150 : Höhe = 150 Pixel
; vGB : Feldvariable ist GB
; X- und Y-Position werden automatisch aus den Angaben in Gui, Margin errechnet.
; Beim ersten Feld sind X und Y = 10
Gui, Add, GroupBox, w500 h150 vGB, Script Editor (S.E)
; Schleife mit in der Variablen MAX abgelegter Anzahl von Durchläufen starten
Loop, %MAX%
{
; Hotkey-Feld erstellen
Gui, Add, Hotkey
; Feldoptionen:
; % : Es folgt ein Ausdruck
; (A_Index = 1) ? - bei Durchlauf 1:
; Section : Neue Section beginnen, X- und Y-Position in xs und ys merken
; xp+10 : X-Position = X-Position des zuvor erstellten Feldes + 10
; yp+25 : Y-Position = Y-Position des zuvor erstellten Felses + 25
; h20 : Höhe 20 Pixel
; : - bei allen anderen Durchläufen:
; xs : X-Position = X-Position der Section,
; Y-Position wird mit dem in Gui, Margin festgelegten Abstand automatisch errechnet
; hp : Höhe = Höhe des zuvor erstellten Feldes
; Für alle Durchläufe:
; w150 : Breite 150 Pixel
; Limit3 : Eingabe auf 3 Zeichen begrenzen
; vHK : Feldvariable, fester Namensteil HK und variabler Namensteil Wert in A_Index
, % (A_Index=1 ? "Section xp+10 yp+25 h20":"xs hp") " w150 Limit3 vHK" A_Index
; Feldinhalt:
; % : Es folgt ein Ausdruck
; HK%A_Index% : Der Inhalt der Variablen mit festem Namensteil HK
; und variablem Namensteil Wert in A_Index wird zugewiesen
, % HK%A_Index%
; Edit-Feld erstellen:
; Feldoptionen:
; x+10 : X-Position = Rechter Rand des zuvor erstellten Feldes + 10
; yp : Y-Position = Y-Position des zuvor erstellten Feldes
; w260 : Breite 260 Pixel
; hp : Höhe = Höhe des zuvor erstellten Feldes
; Readonly : Das Feld ist schreibgeschützt
; vEXE%A_Index% : Feldvariable, fester Namensteil EXE und
; variabler Namensteil Wert in A_Index
; Feldinhalt:
; % EXE%A_Index% : Siehe Hotkey-Feld
Gui, Add, Edit, x+10 yp w260 hp vEXE%A_Index% Readonly, % EXE%A_Index%
; Button erstellen:
; Optionen:
; x+10 : X-Position = Rechter Rand des zuvor erstellten Feldes + 10
; yp : Y-Position = Y-Position des zuvor erstellten Feldes
; w50 : Breite = 50 Pixel
; hp : Höhe = Höhe des zuvor erstellten Feldes
; gPROG%A_Index% : Bei Klick dei Subprozedur mit festem Namensteil PROG
; und variablem Namensteil Wert in A_Index aufrufen
Gui, Add, Button, x+10 yp w50 hp gPROG%A_Index%, ...
}
; Position und Dimensionen des GroupBox in den Variablen GBX, GBY, GBW und GBH ablegen
; Stammname der Augabevariablen = Name der Feldvariablen
GuiControlGet, GB, Pos
; Position und Dimensionen des letzten Hotkey-Feldes (HK5 weil MAX = 5) in den
; Variablen HKX, HKY, HKW und HKH ablegen
; Stammname der Augabevariablen <> Name der Feldvariablen
GuiControlGet, HK, Pos, HK%MAX%
; Höhe der GroupBox neu berechnen:
; Schritt 1: Höhe = Y-Position + Höhe des Hotkeyfeldes
H := HKY + HKH
; Schritt 2: Y-Position der GroupBox abziehen und 15 als Abstand addieren
H := H - GBY + 15
; GroupBox auf neue Höhe setzen
GuiControl, Move, GB, h%H%
; Y-Position für den folgenden Button bestimmen:
; Y = Höhe der GroupBox + Y-Position der GroupBox + 10 Pixel Abstand
Y := H + GBY + 10
; Button erstellen:
; Optionen:
; xm : X-Position wie in Gui, Margin festgelegt (10)
; y%Y% : Y-Position wie zuvor errechnet
; w100 : Breite = 100 Pixel
; h20 : Höhe = 20 Pixel
; gReSave = Bei Klick die Subroutine ReSave aufrufen
Gui, Add, Button, xm y%Y% w100 h20 gReSave, Save and Restart
; Gui zentriert mit automatischer Größenberechnung anzeigen
; Der Fenstertitel wird der Variablen TITLE entnommen
Gui, Show, , %TITLE%
; Ende der Autoexecute-Section oder der Subroutine
Return
; ------------------------------------------------------------------------------