Enter in Textfeld

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

ETsoftware

Betreff: Enter in Textfeld

BeitragMi, Jan 24, 2007 15:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Schon 100mal gefragt und 100mal beantwortet.
Ich habe ein Textfeld erstellt und nachher in der Repeat-Schleife soll geprüft werden ob Enter gedrückt wurde und dann eine Variable um eins erhöht werden.
EventData() liefert keine Tasten wie Enter, Tabulator oder Funktionstasten.
KotKeyEvent() funktioniert auch nicht (ich möchte festgestellt haben, ob Enter gedrückt wurde, während man im Textfeld ist).
Hat jemand einen Beispielcode?

Danke
ETsoftware 2007

Christoph

BeitragMi, Jan 24, 2007 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Schon 100mal gefragt und 100mal beantwortet.

Warum suchst du dann nicht einfach? Mit ein paar richtigen Suchbegriffen ist die Wahrscheinlichkeit einen der 100 Beiträge zu finden gigantisch...
 

ETsoftware

BeitragMi, Jan 24, 2007 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe jetzt die Hälfte der 1285 gefundenen Einträge durchgearbeitet. In den Themen, die dazu eröffnet wurden, wurde diese Frage nie richtig beantwortet. Oder eben nur mit EventData()=13 aber EventData() funktioniert nicht ausser mit Buchstaben und Zahlen.
ETsoftware 2007
 

Dreamora

BeitragMi, Jan 24, 2007 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Die antwort ist simpel: Garnicht

im Textfeld ist Enter direkt für Linebreak genutzt, das kannst du nicht abfangen, ausser du hängst dich via WinAPI rein (und nein ich weiss nicht wie das geht, da ich ja blitz nutze, net C++ Smile )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

D2006

Administrator

BeitragMi, Jan 24, 2007 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal nen raschen Test gemacht...

Bei mir gibt es zwar immer ein Event, wenn ich in der Textarea etwas eingebe (auch bei Enter, Tab und dergleichen), allerdings bleibt EventData immer leer.

War aber imho nicht immer so. Erst seit einer der letzten Updates.
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

Eingeproggt

BeitragMi, Jan 24, 2007 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte man nicht den Text nach jedem Tastendruck nach einem Chr(13) durchsuchen?
(Instr(TextAreaText(area),Chr(13))

EDIT:
Hehe, die Frage kann ich selber beantworten:

Code: [AUSKLAPPEN]

win=CreateWindow("Hallo",100,100,170,100,0,1)

area=CreateTextArea(10,10,150,20,win)

Repeat
   Select WaitEvent()
   Case $803 End
   Case $401
      If EventSource()=area Then
         txt$=TextAreaText(area)
         If Instr(txt,Chr(13))>0 Then
            ;Und hier weiss man, ob enter gedrückt wurde.
                                                ;Funkt auch mit Chr(10)
         EndIf
      EndIf
   End Select
Forever


PS: Das funktioniert zum einmaligen Erkennen von Enter. Will man jedes Enter erkennen, muss man halt noch einen Offset im Befehl "Instr" hineinmachen...
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group