Ich habe ein Gui mit einem Edit Control, das über eine Variable und ein Sprunglabel verfügt.
Code: Select all
Gui, MeinGUI: Add , Edit , x10 y260 w780 h30 cC0FFFF gCHECK vINPUT,
..
..
..
Gui, MeinGui: Show... (blabla, Ihr kennt das ja)
Return
CHECK:
Gui, MeinGUI: Submit, NoHide
If RegExMatch(INPUT, "^(\d{1})-([a-fA-F0-9]{4})-([a-fA-F0-9]{10})$") = 0
GuiControl, MeinGUI: +cFF0000 , INPUT
else
GuiControl, MeinGUI: +cFFFFFF , INPUT
Return
unvollständige Eingabe gemacht hat. Das Muster ist hierbei '1-1234-1234567890',
d.h. also eine Zahl, dann ein Minus, dann eine 4 stellige Zahl, wieder ein Minus und eine 10 stellige Zahl.
Erst wenn diese Bedingung erfüllt ist, soll die Schrift wieder weiß werden.
Die Zahlen können dabei auch HEX Werte sein. Diese Abfrage klappt an sich so weit, aaaaaber...
Solange ich Text eingebe, wird 'CHECK' nach jedem Zeichen korrekt aufgerufen.
Ich gebe also ein 1-1234-1234567890... und das Feld bleibt rot.
Erst wenn ich noch ein Zeichen eingebe, es dann wieder lösche ODER mit der Maus
über das Editfeld fahre ohne zu klicken, ändert sich die Schrift, als würde die Sprungmarke erst
später und nicht direkt nach der Eingabe aufgerufen werden.
Mache ich einen Denkfehler? Ich würde, wenn, am ehesten auf RegExMatch tippen,
da dies bei mir, wie bei so vielen anderen ein Steckenpferd ist. Wirklich kapieren
werde ich das wohl nie XD
Bis denne und danke im Voraus,
Gucky.