Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 10:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Autoit alle Buttons deaktivieren/aktivieren

Discussion on Autoit alle Buttons deaktivieren/aktivieren within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2013
Posts: 31
Received Thanks: 2
Autoit alle Buttons deaktivieren/aktivieren

Hey Leute,

Also nehmen wir an ich habe einen Button im GUI:
Code:
$Button1 = GUICtrlCreateButton("TEXT", 136, 16, 65, 49)
Den kann ich mit dem Befehl hier ausblenden:
Code:
GUICtrlSetState($Button1,$GUI_DISABLE)
Doch wenn mein Code nun so aussieht:

Meine Frage nun, gibt es einen Befehl, der alle auf einmal deaktivieren und aktivieren kann?
Oder eine oder 2 Zeilen Code die die aktivvier und deaktivier Arbeit vereinfachen statt für jeden Button einzelnd GUICtrlSetState zu schreiben? Vielen Dank für die Hilfe!

Mit freundlichen Grüßen,
blame
only_blame is offline  
Old 10/18/2013, 16:28   #2
 
elite*gold: 0
Join Date: Aug 2013
Posts: 321
Received Thanks: 258
also soweit ich weiß nicht aber du kannst es einfach mit einer eigendener funktion machen
Code:
Func _AllButtons($Status)
GuiCtrlSetState($Button1,$Status) GuiCtrlSetState($Button2,$Status) GuiCtrlSetState($Button3,$Status ) GuiCtrlSetState($Button4,$Status) GuiCtrlSetState($Button5,$Status ) GuiCtrlSetState($Button6,$Status ) GuiCtrlSetState($Button7,$Status) GuiCtrlSetState($Button8,$Status) GuiCtrlSetState($Button9,$Status) GuiCtrlSetState($Button10,$Status) GuiCtrlSetState($Button11,$Status) GuiCtrlSetState($Button12,$Status)
endfunc

_AllButtons($GUI_DISABLE)
nur ein simpeles Beispiel
Sh1Rum is offline  
Old 10/18/2013, 16:59   #3
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Oder du verfrachtest sie alle in einen Array und dann disablest du sie in einer For-Schleife
Code:
$aControls[10] = [$hButton1, $hButton2, $hButton3, $hButton4, $hButton5, $hButton6, $hButton7, $hButton8, $hButton9, $hButton10]

For $i = 0 To UBound($aControls) - 1
	GUICtrlSetState($aControls[$i], $GUI_DISABLE)
Next
alpines is offline  
Old 10/18/2013, 17:51   #4
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Dafür muss man die Controls nicht zwangsweise in ein Array packen.


Die einzelnen Controls bekommen kein Handle zugewiesen, sondern eine fortlaufende ID, anhand das Control identifizierbar ist.
In meinem Beispiel werden alle Buttons deaktiviert, die sich zwischen den Label $lbl_Start und $lbl_End befinden. Dabei spielt es keine Rolle, um wie viele es sich handelt. Deshalb habe ich auch den dynamischen Aufbau verwendet. Für Anfänger zugegeben nicht das beste Beispiel.

Bezogen auf den Aufbau des TE:
Code:
For $control = $Button1 To $Button12
    GUICtrlSetState($control, $GUI_DISABLE)
Next
KDeluxe is offline  
Thanks
2 Users
Old 10/18/2013, 21:27   #5

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Oder auch noch auf eine andere Art:
Code:
Global Const $GUI_DISABLE = 128

$hGUI = GUICreate("", 500, 500, -1, -1)
$Button1 = GUICtrlCreateButton("TEXT", 0, 0, 65, 20)
$Button2 = GUICtrlCreateButton("TEXT", 20, 20, 65, 20)
$Button3 = GUICtrlCreateButton("TEXT", 40, 40, 65, 20)
$Button4 = GUICtrlCreateButton("TEXT", 60, 60, 65, 20)
$Button5 = GUICtrlCreateButton("TEXT", 80, 80, 65, 20)
$Button6 = GUICtrlCreateButton("TEXT", 100, 100, 65, 20)
$Button7 = GUICtrlCreateButton("TEXT", 120, 120, 65, 20)
$Button8 = GUICtrlCreateButton("TEXT", 140, 140, 65, 20)
$Button9 = GUICtrlCreateButton("TEXT", 160, 160, 65, 20)
$Button10 = GUICtrlCreateButton("TEXT", 180, 180, 65, 20)
$Button11 = GUICtrlCreateButton("TEXT", 200, 200, 65, 20)
$Button12 = GUICtrlCreateButton("TEXT", 220, 220, 65, 20)
GUISetState(@SW_SHOW)

For $i = 1 To 12
	GUICtrlSetState(Execute("$Button" & $i), $GUI_DISABLE)
Next

While True;True = 1
	$GUI = GUIGetMsg()
	Switch $GUI
		Case -3; Global Const $GUI_EVENT_CLOSE = -3
			Exit
	EndSwitch
WEnd
BladeTiger12 is offline  
Old 10/18/2013, 22:11   #6
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Fortlaufende Variablennamen zu verwenden ist aber schlecht, das sollte man nicht machen. Entsprechend findet man bei einem besseren Stiel keine Verwendung für dein Beispiel. Möchte man außerdem vorangehende Controls (z. B. Labels) auch deaktivieren, funktioniert dieses Beispiel nicht. Außer man würde einem Label ebenfalls eine $ButtonN Bezeichnung geben, was das ganze aber noch schlechter macht.
Man sollte schon das Beispiel von mir oder alpines verwenden.
KDeluxe is offline  
Thanks
1 User
Old 10/18/2013, 22:39   #7

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Eher deins, ist auch viel schöner.
Hast schon Recht.
Habe mich jetzt aber nur auf Buttons konzentriert wegen dem Thread Titel.
BladeTiger12 is offline  
Reply

Tags
aktivieren, autoit, buttons, deaktivieren


Similar Threads Similar Threads
Groupbox aktivieren und deaktivieren?
08/24/2014 - AutoIt - 12 Replies
Wie kann ich es machen, dass eine Groupbox erst nach einer bestimmten Sache aktiviert wird. Beispiel: If $Eingeloggt = True Then Aktiviere GroupBox :D Das war nur nen Beispiel, also nicht kritisieren :p
[Suggestion] [Vorschlag]Titel Aktivieren oder Deaktivieren
08/25/2013 - Suggestions & Feedback - 18 Replies
Guten Morgen liebe Elitepvpers User, Ich möchte euch mal fragen was ihr davon haltet wenn es so ein System gäbe womit man Seine Titel an und aus schalten kann. Sie sollten nicht verschwinden sondern nur ausgeblendet werden.
hotkey deaktivieren und aktivieren
05/31/2013 - AutoIt - 5 Replies
Hey Leute :D, ich arbeite gerade an einem Metin2 Auto-Login Bot. Ich hab ihn einfach so gescriptet, dass er Account und Passwort aus dem Input ausliest und ich dann einfach F9 im Hauptmenü drücken muss um mich einzuloggen. Meine Frage ist jetzt ob ich den Hotkey erstmal deaktivieren kann und mit dem Button der Accountname und Passwort ausliest gleichzeitig den Hotkey aktivieren und ihn nach dem ersten Tastendruck wieder deaktivieren kann. LG Tom :).
Wlan mit Taste Deaktivieren/Aktivieren?
03/30/2013 - Technical Support - 17 Replies
Hey, Ich habe mal eine Frage. Wie kann ich mein Internet trennen? Ich habe ein Notebook. Mit der FN Taste geht es nicht, da öffnet sich nur das Programm wo ich es es dann trennen kann oder auch nicht. Ich möchte wenn ich z.b. mal Vollbild Singleplayer Spiele spiele und mich jemand in Skype vollspammt einfach mal mein Internet trennen. Wie geht das? Ich möchte auch nicht immer unötig auf dem Desktop. Das nervt. Mit freundlichem Gruß (Vllt gibt es auch Programme?!)
Quests deaktivieren / aktivieren
05/18/2012 - Metin2 Private Server - 11 Replies
Nach Google und 2 Stunden SuFu finde ich nichts. WIE kann man Quests bei einem eigenen Server aktivieren, und deaktivieren? Profizocker94 hats geschafft also muss es hier auch jemand wissen. MfG ZIM



All times are GMT +1. The time now is 10:41.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.