Gui Checkbox Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

UnReALiTyy
Posts: 166
Joined: 06 Jun 2017, 11:38

Gui Checkbox

25 Sep 2019, 17:16

Hallo, ich wollte eine Möglichkeit haben das die Gui,Add,Checkbox beim Häckchen setzen das Fenster Edit Aktiviert und beim entfernen des Häckchen es wieder Deaktiviert. Ich bin nur auf die untere Lösung gekommen, habt ihr eventuell eine einfachere bzw. elegantere Lösung für mich?

Code: Select all

Gui, Add, CheckBox, gcustom vAlpha7 x15 y30, Custom
Gui, Add, Edit, vedt2 x15 y50 w250 h20 +Disabled
Gui, Show, x700 autosize, Test Gui
return

custom:
	if (Alpha7 = 0) {
		GuiControl, Enable, edt2
		Alpha7 := 1
			}
	else {
		GuiControl, Disable, edt2
		Alpha7 := 0
	}
return
User avatar
jNizM
Posts: 2663
Joined: 30 Sep 2013, 01:33
GitHub: jNizM
Contact:

Re: Gui Checkbox  Topic is solved

26 Sep 2019, 01:30

Das sollte ausreichen:

Code: Select all

custom:
	Gui, Submit, NoHide
	if (Alpha7)
		GuiControl, Enable, edt2
	else
		GuiControl, Disable, edt2
return
[AHK] 1.1.32.00 x64 Unicode | [WIN] 10 Pro (Version 2004) x64 | [GitHub] Profile
Donations are appreciated if I could help you
User avatar
Gucky_87
Posts: 345
Joined: 03 Jul 2014, 05:09

Re: Gui Checkbox

26 Sep 2019, 02:18

Moinsen,

Genau wie jNizM das macht, mache ich so etwas auch.
Ich wüsste keine schnellere/optimalere Lösung.

Code: Select all

custom:
	if (Alpha7) {   ; <== Das '= 1' ist überflüssig, da 'if' ohne diese Angabe überprüft, ob Alpha7 wahr ist (also ~ 0, bzw. False)
		GuiControl, Disable, edt2  ;  <== Durch die geänderte if Abfrage müssen Enable/Disable natürlich vertauscht werden
		Alpha7 := 0
			}
	else {
		GuiControl, Enable, edt2
		Alpha7 := 1
	}
return
Gucky.
UnReALiTyy
Posts: 166
Joined: 06 Jun 2017, 11:38

Re: Gui Checkbox

26 Sep 2019, 11:16

jNizM wrote:
26 Sep 2019, 01:30
Das sollte ausreichen:

Code: Select all

custom:
	Gui, Submit, NoHide
	if (Alpha7)
		GuiControl, Enable, edt2
	else
		GuiControl, Disable, edt2
return
ahhh Danke dir! Das fehlende "Gui, Submit, NoHide" war mein Denkfehler das erklärt auch wieso sich "Alpha7" nie geändert hatte. :superhappy:

@Gucky_87 Danke dir auch für die Erklärung, geht jetzt alles wie Gewünscht.
UnReALiTyy
Posts: 166
Joined: 06 Jun 2017, 11:38

Re: Gui Checkbox

26 Sep 2019, 15:55

@jNizM hast du eine Idee wie ich in eine Variable zwischen jedes Zeichen ein "," setze, sodass es bei dem Beispiel unten dann so aussehen würde
"H,a,l,l,o,W,e,l,t,"
ich scheitere leider daran und weiß keine andere möglichkeit mehr, hoffe du kannst mir helfen.

Code: Select all

testvar := "HalloWelt"
tooltip % StrReplace(testvar, " ", ",")
return
User avatar
jNizM
Posts: 2663
Joined: 30 Sep 2013, 01:33
GitHub: jNizM
Contact:

Re: Gui Checkbox

27 Sep 2019, 01:50

Bin mir nicht sicher ob es in einem Zug mit StrReplace() geht. Aber hier sind zwei alternativen:

Code: Select all

testvar := "HalloWelt"

array := StrSplit(testvar)
for k, v in array
	newvar .= v ","
MsgBox % newvar

Code: Select all

testvar := "HalloWelt"

Loop, Parse, testvar
	newvar .= A_LoopField ","
MsgBox % newvar
evtl noch das, aber wird nicht von mir empfohlen

Code: Select all

testvar := "HalloWelt"
MsgBox % RegExReplace(testvar, "", ",",,, 2)
[AHK] 1.1.32.00 x64 Unicode | [WIN] 10 Pro (Version 2004) x64 | [GitHub] Profile
Donations are appreciated if I could help you
UnReALiTyy
Posts: 166
Joined: 06 Jun 2017, 11:38

Re: Gui Checkbox

28 Sep 2019, 10:53

jNizM wrote:
27 Sep 2019, 01:50
Bin mir nicht sicher ob es in einem Zug mit StrReplace() geht. Aber hier sind zwei alternativen:

Code: Select all

testvar := "HalloWelt"

array := StrSplit(testvar)
for k, v in array
	newvar .= v ","
MsgBox % newvar

Code: Select all

testvar := "HalloWelt"

Loop, Parse, testvar
	newvar .= A_LoopField ","
MsgBox % newvar
evtl noch das, aber wird nicht von mir empfohlen

Code: Select all

testvar := "HalloWelt"
MsgBox % RegExReplace(testvar, "", ",",,, 2)
Mega gut Danke dir :superhappy: :dance:
das hätte ich nie alleine geschafft, bist echt der beste.

@jNizM
Habe ich hinbekommen, auch mit deinem Beispiel oben!
Also vielen Dank nochmal hast mir echt geholfen.

Code: Select all

	Loop, Parse, edt2
	signs := StrReplace(signs, A_LoopField)

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 3 guests