Seite 1 von 1

Window Callback ???

Verfasst: 07.02.2006 14:22
von John Doe
Hallo,
ich möchte mittels windowcallback Tastatureingaben abfangen und dann via serielle Schnittstelle an ein Automatisierungssystem senden.
Dieses sendet danach die empfangenen Zeichen quasi als Echo wieder zurück, welche dann in einem Editorgadget angezeigt werden.
Das heißt, die von mir eingegebenen Zeichen dürfen nicht im Editorgadget bei der Eingabe angezeigt werden.
Das ganze sollte im Prinzip wie ein Terminalprogramm funktionieren.

Hat vielleicht jemand einen Idee, wie ich die Tastatureingaben abfangen könnte ?

Verfasst: 07.02.2006 14:43
von uweb
Ich bin mir nicht ganz sicher ob ich Dein Problem richtig verstanden habe,
aber was wäre wenn Du zwei EditorGadgets verwenden würdest die Du dann nach belieben aktivieren, deaktivieren verstecken und wieder hervorholen kannst.
Ich habe in meinem Thread von heute ein Beispiel dafür :

http/forums.purebasic.com/german/viewtopic.php?t=6834

Verfasst: 07.02.2006 14:48
von John Doe
vielleicht habe ich mich etwas undeutlich ausgedrückt, ich versuchs nochmal:

ich habe ein Editorfeld und gebe dort Text ein.
der Text soll aber nicht gleich angezeigt werden, sondern über ein windowcallback abgefangen werden, über die serielle Schnittstelle geschickt werden und das über die ser. Schnittstelle empfangene Echo soll
im Editorfeld angezeigt werden.

Verfasst: 07.02.2006 15:16
von uweb
Zum Anzeigen : AddGadgetItem() oder SetGadgetText()

Zum Abfragen der Tastatureingabe (aus dem Code-Archiv):

Code: Alles auswählen

For r=0 To 255 : GetAsyncKeyState_(r) : Next ; Prepare all key buffers for capture. 
Repeat 
  Sleep_(1) 
  If GetAsyncKeyState_(#VK_A)=-32767 ; Check if 'A' was pressed. 
    Debug "'A' was pressed" 
  EndIf 
ForEver 
Wie man verhindert, dass die Message beim EditorGadget ankommt weiss ich auch nicht.
Aber, wenn Dir mein Vorschlag mit 2 EditorGadgets so zu tun als ob (also am Bildschirm kein Uterschied) nicht gefällt habe ich noch eine andere Idee :

Lösche die Eingabe doch gleich wieder mit RemoveGadgetItem() oder ClearGadgetItemList().
.

Verfasst: 07.02.2006 16:08
von John Doe
Das ist das, was ich wollte, die Möglichkeit, die Tastatur abzufragen
vielen Dank an uweb