GUI-Checkbox über Funktion auslesen Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

GUI-Checkbox über Funktion auslesen

23 Mar 2021, 06:27

Hallo zusammen,

ich habe ein Script erstellt, um beim PC-Start auswählen zu können, welche Programme gestartet werden sollen. Das erfolgt bisher nach folgendem Aufbau:
Spoiler

Nun möchte ich den Teil "ButtonOK" etwas verkürzen und das Hochzählen in eine Funktion verlagern. Die Funktion macht auch, was sie soll, aber die Abfrage funktioniert nicht:
Spoiler

Wo liegt mein Fehler?
Danke schon mal im Voraus für euer Bemühen.
Herzliche Grüße aus dem Rheinland
Lucky Joe
KHA
Posts: 408
Joined: 21 Aug 2018, 11:11

Re: GUI-Checkbox über Funktion auslesen

23 Mar 2021, 08:13

Eine Möglichkeit wäre mit GuiControlGet Status des Steuerelements abzufragen
z.B

Code: Select all

GuiControlGet, ChkbSta ,, % "CB" . ThisCB()
MsgBox, % ChkbSta
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

23 Mar 2021, 08:30

Code: Select all

#NoEnv
#SingleInstance force

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Programmliste																							'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

Proggies =
(
Programm 01
Programm 02
Programm 03
Programm 04
Programm 05
)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Gui erstellen																							'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

Loop, Parse, Proggies, `n												; alle Proggies durchlaufen
{	cb := A_index
	if (A_Loopfield = "")												; wenn keine mehr kommen:
		Break															; Schleife beenden
	Gui, Add, CheckBox,% "gCheck vCB" . cb . " Checked",% A_LoopField	; Eintrag hinzufügen
}
Gui, Add, Button, Default, OK											; Button "OK"
Gui, Show, Autosize														; Gui anzeigen

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Bei Anklicken einer Checkbox																			'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
Check:
	GuiControlGet, CBID, Focus          								; hole ID der angeklickten CB		???
	GuiControlGet, Status,, %CBID%										; hole Status						???
Return

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Bei Klick auf "OK"																					'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
ButtonOK:
	Gui, Submit
	Loop % cb {
	if CB%A_Index% != 0	
;		Run % "Programm" . 	Format("{:02}", A_Index)					; Programm-Nr. immer 2-stellig
		MsgBox % "Programm " . 	Format("{:02}", A_Index)
	}
GuiEscape:
GuiClose:
Gui, Destroy
ExitApp
Getestet. Ohne Funktion (die hätte hier nicht wirklich Zeilen gespart).
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

23 Mar 2021, 08:54

Hallo,

zunächst vielen Dank für eure Vorschläge.

@KHA: Ich wollte mir mit meiner 2. Version eigentlich jeweils eine Zeile sparen, nämlich die mit dem Hochzählen der Variablen "direkt" in der If-Abfrage (bzw. indirekt über den Funktionsaufruf).

@Bobo: Die Bezeichnungen "Programm xx" sind nur Muster und können nicht in einer Schleife abgearbeitet werden. Der Aufruf sieht z.B. so aus:
"c:\Program Files (x86)\!Tools\KeePass\KeePass.exe"
"c:\Program Files\!Tools\WSCC\SysInternals Suite\procexp64.exe /t"
usw.
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

23 Mar 2021, 09:14

IMHO geht das schon ...

Code: Select all

#NoEnv
#SingleInstance force

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Programmliste																							'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

Proggies =
(
Programm 01
Programm 02
Programm 03
Programm 04
Programm 05
c:\Program Files (x86)\!Tools\KeePass\KeePass.exe
c:\Program Files\!Tools\WSCC\SysInternals Suite\procexp64.exe /t
)

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Gui erstellen																							'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

programms := []
Loop, Parse, Proggies, `n												; alle Proggies durchlaufen
{	cb := A_index
	if (A_Loopfield = "")												; wenn keine mehr kommen:
		Break															; Schleife beenden
	programms[A_Index] := A_LoopField
	Gui, Add, CheckBox,% "gCheck vCB" . cb . " Checked",% A_LoopField	; Eintrag hinzufügen
}
Gui, Add, Button, Default, OK											; Button "OK"
Gui, Show, Autosize														; Gui anzeigen

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Bei Anklicken einer Checkbox																			'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
Check:
	GuiControlGet, CBID, Focus          								; hole ID der angeklickten CB		???
	GuiControlGet, Status,, %CBID%										; hole Status						???
Return

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
; Bei Klick auf "OK"																					'
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
ButtonOK:
	Gui, Submit
	Loop % cb {
	if CB%A_Index% != 0	
;		Run % programms[A_Index]
		MsgBox % programms[A_Index]
	}
GuiEscape:
GuiClose:
Gui, Destroy
ExitApp
... und wenn die Menüeinträge Aliase für Programmpfade sein/haben soll(t)en gehts mit einem assoziativen Array, ...

Code: Select all

#NoEnv
#SingleInstance force

Proggies := {"Programm 01":"c:\Program Files (x86)\!Tools\KeePass\KeePass.exe"					; Programmliste
			,"Programm 02":"c:\Program Files\!Tools\WSCC\SysInternals Suite\procexp64.exe /t"}

for key, var in Proggies {																		; alle Proggies durchlaufen
	cb := A_index
	Gui, Add, CheckBox,% "gCheck vCB" . cb . " Checked",% key									; Eintrag hinzufügen
	}
Gui, Add, Button, Default, OK																	; Button "OK"
Gui, Show, Autosize																				; Gui anzeigen

Check:																							; Bei Anklicken einer Checkbox
	GuiControlGet, CBID, Focus          														; hole ID der angeklickten CB		???
	GuiControlGet, Status,, %CBID%																; hole Status						???
Return

ButtonOK:																						; Bei Klick auf "OK"
	Gui, Submit
	Loop % cb {
	if CB%A_Index% != 0	
;		Run		% Proggies["Programm " . Format("{:02}", A_Index)]
		MsgBox	% Proggies["Programm " . Format("{:02}", A_Index)]
	}
GuiEscape:
GuiClose:
Gui, Destroy
ExitApp
... und hier mit variablen Aliasen.

Code: Select all

#NoEnv
#SingleInstance force

Proggies := {"KeePass":"c:\Program Files (x86)\!Tools\KeePass\KeePass.exe"						; Programmliste
			,"Process Explorer":"c:\Program Files\!Tools\WSCC\SysInternals Suite\procexp64.exe /t"}

keyList :=	[]

for key, var in Proggies {																		; alle Proggies durchlaufen
	cb := A_index
	keyList[A_Index] := key
	Gui, Add, CheckBox,% "gCheck vCB" . cb . " Checked",% key									; Eintrag hinzufügen
	}
Gui, Add, Button, Default, OK																	; Button "OK"
Gui, Show, Autosize																				; Gui anzeigen

Check:																							; Bei Anklicken einer Checkbox
	GuiControlGet, CBID, Focus          														; hole ID der angeklickten CB		???
	GuiControlGet, Status,, %CBID%																; hole Status						???
Return

ButtonOK:																						; Bei Klick auf "OK"
	Gui, Submit
	Loop % cb {
	if CB%A_Index% != 0	
;		Run		% Proggies[KeyList[A_Index]]
		MsgBox	% Proggies[KeyList[A_Index]]
	}
GuiEscape:
GuiClose:
Gui, Destroy
ExitApp
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

23 Mar 2021, 12:06

Hi Bobo,

... aaaahhhhhrrrrggggg!!! :lol:
Jetzt habe ich die ganze Zeit experimentiert und bin dann ebenfalls auf eine Array-Lösung gekommen. Hätte ich doch nur auf dich gewartet, dann hätte ich mir meine Zeit erspart ;-)
Spaß beiseite:

Code: Select all

Proggies =
(
KeePass | c:\Program Files (x86)\!Tools\KeePass\KeePass.exe
Process Explorer | c:\Program Files\!Tools\WSCC\SysInternals Suite\procexp64.exe /t

)
... und splitte die Zeile dann bei " | ".

Insgesamt komme ich auf eine ähnliche Struktur wie du, habe aber bei folgenden Programmaufrufen Probleme mit den Parametern:
So habe ich z.B. ein Programm "QuickAccessPopup", das normalerweise in einem AHK-Script mit Parametern wie folgt aufgerufen wird:

Run, C:\Program Files\!Tools\Quick Access Popup\QuickAccessPopup.exe, C:\Program Files\!Tools\Quick Access Popup\, hide

oder KeePass, das ich ebenfalls mit Parametern aufrufe:
Run, c:\Program Files (x86)\!Tools\KeePass\KeePass.exe "E:\MyDrive\MyKeePass.kdbx" -minimize -pw:MeinGeheimesPasswort

Beim letzteren kommen also auch noch "" hinzu.
Beide Aufrufe funktionieren mit deinem Script ebensowenig wie mit meinem.
Hast du noch eine Idee, wie man solche Parameter unterbringen kann?
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

23 Mar 2021, 12:34

AFAICS, bestehen die Unterschiede darin, das du bei der einen Lösung Parameter des Run-commands benutzt, bei der anderen nicht.
Ich habe das jetzt damit versucht diese Optionen dem jeweiligen Schlüssel zuzuweisen. Sollte Run allerdings 'leere' Parameter ablehnen muss da noch geschraubt werden.
In der MsgBox siehts jedoch gut aus. Testen kann ichs (mangels der benutzten Programme) jedoch nicht. Obwohl, ...

Code: Select all

#NoEnv
#SingleInstance force

Proggies :=	{"QuickAccess":	["C:\Program Files\!Tools\Quick Access Popup\QuickAccessPopup.exe","C:\Program Files\!Tools\Quick Access Popup\","hide"]
			,"KeePass":		["C:\Program Files (x86)\!Tools\KeePass\KeePass.exe ""E:\MyDrive\MyKeePass.kdbx"" -minimize -pw:MeinGeheimesPasswort","",""]}

keyList :=	[]

for key, var in Proggies {																			; alle Proggies durchlaufen
	cb := A_index
	keyList[A_Index] := key
	Gui, Add, CheckBox,% "gCheck vCB" . cb . " Checked",% key										; Eintrag hinzufügen
	}
Gui, Add, Button, gOK, OK																			; Button "OK"
Gui, Show, Autosize																					; Gui anzeigen

Check:																								; Bei Anklicken einer Checkbox
	GuiControlGet, CBID, Focus          															; hole ID der angeklickten CB		???
	GuiControlGet, Status,, %CBID%																	; hole Status						???
Return

OK:																									; Bei Klick auf "OK"
	Gui, Submit				
	Loop % cb {
	if CB%A_Index% != 0	
;		Run		% Proggies[KeyList[A_Index]].1,% "Proggies[KeyList[A_Index]].2,% "Proggies[KeyList[A_Index]].3
		MsgBox	% Proggies[KeyList[A_Index]].1 "," Proggies[KeyList[A_Index]].2 "," Proggies[KeyList[A_Index]].3
	}
GuiEscape:
GuiClose:
Gui, Destroy
ExitApp
... das funktioniert auch ohne: Run % "Notepad.exe",, ;)
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

24 Mar 2021, 03:51

Hallo Bobo,

wow ... toll: läuft schon ziemlich gut. Bei meinen 25-30 Programmen muss ich bei den Parametern noch etwas Feinschliff machen, aber ansonsten funktionieren die Programmaufrufe so.

Die Liste wird allerdings automatisch alphabetisch sortiert, das darf nicht sein, da manche Programmaufrufe von den vorherigen abhängig sind. Kann man die Sortierung ausschalten? Eine Alternative wäre eine Durchnummerierung meiner Einträge, aber genau das wollte ich verhindern, weil ich immer mal wieder etwas ändere und dazwischen schieben muss, was bedeutet, das ich dann die Nummerierung wieder ändern muss.
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

24 Mar 2021, 05:03

Gabe es so eine Anfrage nicht erst vor kurzem (noch nicht wiedergefunden)? Vielleicht kann sich noch jemand daran erinnern??
Willkürliche Sortierung wäre AFAIK ja lediglich beim Erstellen der GUI von Belang, demnach könnte hier (d)eine Lösung mit einem separaten String greifen, der lediglich die GUI bestückt. Wenn Abhängigkeiten bestehen, fängst du die Subfunktion ab wenn die Masterfunktion abgewählt wird?? :think:
just me
Posts: 9576
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: GUI-Checkbox über Funktion auslesen

24 Mar 2021, 06:12

Moin,

Du kannst das Ganze in ein Array packen, um die Reihenfolge zu bestimmen, z.B.:

Code: Select all

Proggies :=	[{Name: "QuickAccess", Cmd: "C:\Program Files\!Tools\Quick Access Popup\QuickAccessPopup.exe", Dir: "C:\Program Files\!Tools\Quick Access Popup\", Opt: "hide"}
			,{Name: "KeePass",     Cmd: "C:\Program Files (x86)\!Tools\KeePass\KeePass.exe ""E:\MyDrive\MyKeePass.kdbx"" -minimize -pw:MeinGeheimesPasswort", Dir: "", Opt: ""}]
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

24 Mar 2021, 12:11

Danke auch dir, just me! :-)

Das sieht sehr übersichtlich und nachvollziehbar aus, aber mir fehlt dazu leider die Kenntnis, wie ich das einlese und später für den "Run"-Befehl abrufen muss. Könntest du das noch ergänzen?
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen  Topic is solved

24 Mar 2021, 15:52

Ich habe @just me's Vorschlag mal an meinen code angepasst. Funktioniert, AFAICS.

Code: Select all

#NoEnv
#SingleInstance force

Proggies :=	[{Name: "QuickAccess", Cmd: "C:\Program Files\!Tools\Quick Access Popup\QuickAccessPopup.exe", Dir: "C:\Program Files\!Tools\Quick Access Popup\", Opt: "hide"}
			,{Name: "KeePass",     Cmd: "C:\Program Files (x86)\!Tools\KeePass\KeePass.exe ""E:\MyDrive\MyKeePass.kdbx"" -minimize -pw:MeinGeheimesPasswort", Dir: "", Opt: ""}]

for key, var in Proggies {																			; alle Proggies durchlaufen
	Gui, Add, CheckBox,% "gCheck vCB" . A_Index . " Checked",% Proggies[A_Index].Name				; Eintrag hinzufügen
	}
Gui, Add, Button, gOK, OK																			; Button "OK"
Gui, Show, Autosize																					; Gui anzeigen

Check:																								; Bei Anklicken einer Checkbox
	GuiControlGet, CBID, Focus          															; hole ID der angeklickten CB		???
	GuiControlGet, Status,, %CBID%																	; hole Status						???
Return

OK:																									; Bei Klick auf "OK"
	Gui, Submit				
	Loop % Proggies.Count() {
		if CB%A_Index% != 0
;			Run		% Proggies[A_Index].cmd,% "Proggies[A_Index].Dir,% "Proggies[A_Index].Opt
			MsgBox	% Proggies[A_Index].cmd "," Proggies[A_Index].Dir "," Proggies[A_Index].Opt
		}
GuiEscape:
GuiClose:
Gui, Destroy
ExitApp

Kurz zur Funktionsweise:
Das array 'Proggies' beinhaltet { zwei assoziative arrays } mit deren jeweiligen key:value-Paaren.

Proggies := [{Name: "QuickAccess", Cmd: "C:\Program Files\!Tools\Quick Access Popup\QuickAccessPopup.exe", Dir: "C:\Program Files\!Tools\Quick Access Popup\", Opt: "hide"}
,{Name: "KeePass", Cmd: "C:\Program Files (x86)\!Tools\KeePass\KeePass.exe ""E:\MyDrive\MyKeePass.kdbx"" -minimize -pw:MeinGeheimesPasswort", Dir: "", Opt: ""}]


Übernahme der values für den key 'Name' als GUI-Text mittels Auswertung der jeweiligen assoziativen arrays im array 'Proggies'

for key, var in Proggies {
Gui, Add, CheckBox,% "gCheck vCB" . A_Index . " Checked",% Proggies[A_Index].Name
}


Anzeige der resultierenden Ausgabewerte für den jeweiligen Run-Befehl.

MsgBox % Proggies[A_Index].Cmd "," Proggies[A_Index].Dir "," Proggies[A_Index].Opt
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 03:49

Hallo Bobo,

ersteinmal herzlichen Dank für die Umsetzung. Das Konstrukt ist durch die "Bezeichner" sehr schön nachvollziehbar, so dass auch die "Raterei" ein Ende hat, was gehört zum Programmaufruf, was zu den Parametern , was zum Arbeitsverzeichnis und was zu den Optionen. Die Struktur liest sich sehr gut!

Allerdings habe ich ein Problem, wenn ich mehr als 28 Einträge habe; dann erhalte ich nämlich die Fehlermeldung: "Error: Expression too long".
Ich habe schon versucht, mit #MaxMem 256 oder VarSetCapacity(Proggies, 10240000) zu arbeiten, aber ohne Erfolg.
Hast du dazu noch eine Idee?
Herzliche Grüße aus dem Rheinland
Lucky Joe
just me
Posts: 9576
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 04:03

Moin @BoBo,

wenn man das mit einer For-Schleife macht, gibt es noch eine (für mich elegantere) Alternative:

Code: Select all

For Index, Prog In Proggies { ; alle Proggies durchlaufen
   Gui, Add, CheckBox, % "gCheck vCB" . Index . " Checked", % Prog.Name	; Eintrag des Values für den Key 'Name' aus dem ausgelesenen assoziativen Array 'Prog'
}

@LuckyJoe:
z.B.

Code: Select all

Proggies := []
Index := 0
Proggies[++Index] := {Name: "QuickAccess", Cmd: "C:\Program Files\!Tools\Quick Access Popup\QuickAccessPopup.exe", Dir: "C:\Program Files\!Tools\Quick Access Popup\", Opt: "hide"}
Proggies[++Index] := {Name: "KeePass",     Cmd: "C:\Program Files (x86)\!Tools\KeePass\KeePass.exe ""E:\MyDrive\MyKeePass.kdbx"" -minimize -pw:MeinGeheimesPasswort", Dir: "", Opt: ""}
...
...
MsgBox, 0, Einträge in Proggies, %Index%
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 05:25

Ich hoffe du denkst nicht daran das finale Script verteilen zu wollen, dabei wäre nämlich eine separate INI-Datei einfacher zu verwalten :lol: :shh:
just me
Posts: 9576
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 06:00

BoBo wrote:..., dabei wäre nämlich eine separate INI-Datei einfacher zu verwalten :lol: :shh:
Da hat dat BoBo wohl recht. ;)
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 13:44

Hallo Bobo, hallo just me,

lieben Dank für eure Unterstützung: alles läuft und ist übersichtlich. Ich habe die Code-Fragmente von hier jetzt in mein Skript überführt (etwas "aufgehübscht"). Ein kleine Frage dazu habe ich noch bei dieser Schleife:

Code: Select all

For Index, Prog In Proggies
{
	Gui, Add, CheckBox, % "gCheck vCB" . Index . " Checked", % Prog.Name
}
Kann ich hier noch irgendwo die Höhe bzw. eine x- und/oder y-Koordinate einfügen? Insbesondere würde ich die Höhe gerne etwas verringern (z.B. h18).

Das Auslesen aus eine INI-Datei kommt dann im Herbst-Update :-)
Danke nochmals!
Herzliche Grüße aus dem Rheinland
Lucky Joe
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 16:23

Kann ich hier noch irgendwo die Höhe bzw. eine x- und/oder y-Koordinate einfügen? Insbesondere würde ich die Höhe gerne etwas verringern (z.B. h18).
Natürlich. Einfach dem Standard folgend als Text/String innerhalb der % forced expression platzieren. ;)
User avatar
LuckyJoe
Posts: 343
Joined: 02 Oct 2013, 09:52

Re: GUI-Checkbox über Funktion auslesen

25 Mar 2021, 17:39

... ahhh ... also innerhalb von "", ok, sorry, das kannte ich nicht.

Gui, Add, CheckBox, % "y+4" "gCheck vCB" . Index . " Checked", % Prog.Name

Danke!
Herzliche Grüße aus dem Rheinland
Lucky Joe

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 53 guests