Hallo, zur Zeit benutze ich GUISetState(@SW_Lock) um meine GUI zu sperren und GUISetState(@SW_UnLock) um sie zu entsperren. Aber selbst wenn die GUI gelockt ist, kann man die Comboboxen öffnen und wenn man eine Checkbox anklickt, wird diese aktiviert/deaktiviert, wenn die GUI Unlocked ist. Gibts da andere Befehle? Ich könnte natürlich jedes Teil in der GUI einzeln DISABLE'n, wäre aber zu viel Aufwand...
Danke schonmal.
GUI komplett sperren
-
- [ gelöst ]
-
NoName -
15. März 2008 um 18:48 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hallo
Ich hab ma schnell was für dich geschrieben:
Spoiler anzeigen
[autoit]#include<GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<WindowsConstants.au3>$hChild = ''
[/autoit] [autoit][/autoit] [autoit]$hMaingui = GUICreate("test" ,200,100)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateCheckbox("testtest",10,10,100,15)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateCombo("",10,35,100)
GUICtrlSetData(-1,"Test|test²³|lol|bla","test");CHILD
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$hChild = GUICreate("",200,100,0,0,$WS_POPUP,$WS_EX_MDICHILD,$hMaingui)
WinSetTrans($hChild,"",1)GUISetState(@SW_SHOW,$hMaingui)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]TrayTip("","locked für 5 Sekunden",3)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_LockGUI(True)
Sleep(5000)
_LockGUI(False)
TrayTip("","Unlocked",3)While True
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc _LockGUI($iLock)
[/autoit]
If $iLock Then
GUISetState(@SW_LOCK,$hMaingui)
GUISetState(@SW_SHOW,$hChild)
Else
GUISetState(@SW_UNLOCK,$hMaingui)
GUISetState(@SW_HIDE,$hChild)
EndIf
EndFunc
Hoffe es hilftMfg Spider
-
Hallo,
wenn es wirklich darum geht dem User während des Scripts jede Kontrolle zu entziehen kannst Du mit BlockInput() arbeiten.
Gruß,
TrueMu
Edit GtaSpider: Ich war schon wieder schneller
-
- Offizieller Beitrag
Hi!
Error...
@SW_LOCK verhindert nur das Neuzeichnen:Zitat@SW_LOCK Lock the window to avoid repainting.
Sperren sollte mit @SW_DISABLE gehen :).peethebee
-
Danke für die Antworten.
GtaSpider : Ausgeklügelt was du da gemacht hast, war eine komische Art, hat aber seinen Dienst erfüllt, bis auf... Das Script sollte gesperrt sein, bis man eine MessageBox schließt, nur die MessageBox wurde dann halt auch geblockt^^
@TrueMu: Ne, das habe ich nciht gesucht
peethebee : Genau das brauchte ich, ich wusste nicht, dass es zusammen mit @SW_ auch Disable und Enable gibt. Aber das erfüllt genau die Vorraussetzungen.
Damit gelöst.
Danke nochmal, MfG