[BlitzPlus] Enter und Esc innerhalb eines TextFields
Übersicht

![]() |
D2006AdministratorBetreff: [BlitzPlus] Enter und Esc innerhalb eines TextFields |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
der ein oder andere kennt das Problem sicher. Sobald ein TextField aktiviert ist, empfängt man keine Events mehr, ob ENTER oder ESC gedrückt wurde. Aber nicht nur, dass die Key-Events nicht auftauchen, dass viel naheliegendere passiert auch nicht: Einfach verkleidet als ASCII Code mitsenden, wenn eine Eingabe erfolgt. Das ging bis Version 1.40, seit dem aber kurioserweise nicht mehr. Hier nun der Workaround: Wir brauchen Buttons. Und zwar solche, die die deutsche Onlinehilfe nichtmal kennt. Es gibt nämlich zwei weitere Styles: 4 und 5. 4 bedeutet, dass der Button ein Action Event sendet, sobald Enter gedrückt wurde. Analog Style 5 für Esc. Das funktioniert allerdings nur, wenn ein Gadget innerhalb der GADGET_GROUP, in der auch der Button ist, aktiv ist. Damit können zB bei mehreren TextFields prima unterscheiden, in welchem Enter gedrückt wurde. Hier nun einfach mal ein Code, der das verdeutlicht: Code: [AUSKLAPPEN] window = CreateWindow("www.chaos-interactive.de",400,400,230,100,0,1)
panel_1 = CreatePanel(10,10,200,20,window) textfield_1 = CreateTextField(0,0,200,20,panel_1) enter_1 = CreateButton("",0,0,0,0,panel_1,4) esc_1 = CreateButton("",0,0,0,0,panel_1,5) panel_2 = CreatePanel(10,40,200,20,window) textfield_2 = CreateTextField(0,0,200,20,panel_2) enter_2 = CreateButton("",0,0,0,0,panel_2,4) esc_2 = CreateButton("",0,0,0,0,panel_2,5) Repeat WaitEvent() Select EventID() Case $803 ;Fenster wurde geschlossen End Case $401 ;Gadget Action Select EventSource() Case textfield_1 Notify "1. Textfeld. Eingabe: "+EventData() Case enter_1 Notify "1. Textfeld. ENTER!" Case esc_1 Notify "1. Textfeld. ESC!" Case textfield_2 Notify "2. Textfeld. Eingabe: "+EventData() Case enter_2 Notify "2. Textfeld. ENTER!" Case esc_2 Notify "2. Textfeld. ESC!" End Select End Select Forever Grüße |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group