![]() |
Bildschirmtastatur
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe in mein Programm u.a. eine Bildschirmtastatur integriert. (s. Anhang) Nun habe ich kleines Problem mit der BACKSPACE Taste. (im Bild die Taste "Zurück") Für die ENTER Taste habe ich folgenden Code, der auch funzt:
Delphi-Quellcode:
Nun wollte ich für die "Zurück".Taste folgenden Code setzten:
procedure TForm1.Button70Click(Sender: TObject);
begin SynEdit1.seltext:=''+#13#10+''; end;
Delphi-Quellcode:
Aber irgendwie funzt das nicht. Wenn ich dann auf die Taste drücke, bleibt sie gedrückt und wenn ich dann z.B. auf "P" drücke, wird die Taste doppelt gedrückt.
procedure TForm1.Button71Click(Sender: TObject);
begin Keybd_event(VK_RETURN,0,0,0); end; Fehlt noch irgnedwie was, oder geht das so überhaupt? |
Re: Bildschirmtastatur
VK_RETURN ist aber die Enter-Taste :gruebel:
suche mal nach keybd_event hier im Forum, dann findest du diverse Beispiele inklusive dem Code um die taste wieder "loszulassen" |
Re: Bildschirmtastatur
Für Backspace müsste #8 gehen, und #9 ist Tabulator.
Nur die VK_... Bezeichnung weiß ich im Moment nicht. |
Re: Bildschirmtastatur
Natürlich: :wall: VK_RETURN = Enter
so, aber irgendwie kann ich mit VK_BACK nichts anfangen, es passiert dann nämlich überhaupt nichts. Und wenn ich es mit #8 versuche, löscht er nicht das letzte Zeichen, sondern setzt ein Zeichen. Ein Viereck.
Delphi-Quellcode:
und mit VK_BACK
procedure TForm1.Button70Click(Sender: TObject);
begin SynEdit1.seltext:=''+#8+; end;
Delphi-Quellcode:
procedure TForm1.Button71Click(Sender: TObject);
begin Keybd_event(VK_BACK,0,0,0); end; |
Re: Bildschirmtastatur
ich würde dir empfehlen (so hab ich das vor Jahren auch mal gemacht) ein neues Project zu machen und im FormKeyDown einzutragen: Label1.Caption:=IntToStr(Key);
Dann siehst du beim Drücken jeder Taste den VK_xxx Code als Zahl und als solche kann man sie auch verwenden anstelle VK_xxx. So hab ich damals diese ganzen Codes ermittelt. |
Re: Bildschirmtastatur
Hallo,
ich würde selbst das letzte Zeichen löschen, insbesondere da Du bei der Return-Taste zwei Zeichen hinzufügst, müsstest Du ja dann auch zwei Zeichen löschen. MfG Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz