GadGetKey_TextArea ... von ??? |
Hi. In diesem beispiel wird gezeigt wie man auch ohne die (so wie ich finde) umständlich einzubindenden Userlibs eine Abfrage der Tasten machen kann, und zwar in TextArea. Solche gedrückte tasten wie die "enter" taste usw. werden auch zurück geliefert. Das einzigste was ihr machen müsst ist, dass hier: GadGetKey_TextArea$(textarea) Naja... schaut euch das Beispiel mal an [code:1:17413789c2]wnd = CreateWindow("GadGet Key - Test", 10, 10, 400, 400, 0, 1) butn1 = CreateButton("Exit.", 2, 2, 100, 30, wnd) textlabel = CreateLabel("Please press a key in textarea.", 120, 2, 200, 20, wnd) textarea = CreateTextArea(2, 40, 388, 300, wnd) Programm = 1 While Programm MyEvent = WaitEvent() If EventSource() = butn1 Then Programm = 0 If EventSource() = textarea Then I$ = GadGetKey_TextArea$(textarea) SetGadgetText textlabel, "You have lost pressed: " + I$ ; RuntimeError I$ End If Wend Type ScanGadGetKey Field GadGetHandle Field LostGadGetText$ Field NewGadGetText$ Field GadGetType End Type Function GadGetKey_TextArea$(objhandle) Local SGGK.ScanGadGetKey SGGK = Null For ScanGadGetKey.ScanGadGetKey = Each ScanGadGetKey If ScanGadGetKeyGadGetHandle = objhandle Then SGGK = ScanGadGetKey Next If SGGK = Null Then SGGK.ScanGadGetKey = New ScanGadGetKey SGGKGadGetHandle = objhandle SGGKLostGadGetText$ = TextAreaText$(objhandle) ; SGGKNewGadGetText$ = TextAreaText$(objhandle) SGGKGadGetType = 0 Return GadGetKey_TextArea$(objhandle) Else SGGKLostGadGetText$ = SGGKNewGadGetText$ SGGKNewGadGetText$ = TextAreaText$(SGGKGadGetHandle) For GGKT = 1 To Len(SGGKNewGadGetText$) If Not (Mid$(SGGKNewGadGetText$, GGKT, 1) = Mid$(SGGKLostGadGetText$, GGKT, 1)) Then Return Mid$(SGGKNewGadGetText$, GGKT, 1) End If Next End If End Function[/code:1:17413789c2] MfG ShadowTurtle PS. @Suco-X: Was ich verspreche halte ich auch. Hier ist nun der Code für die Tastenabfrage in einem Text Area feld. |
.... von ??? |
Gute arbeit. Danke! bye |
von ??? |
Gern doch. :) |