AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bildschirmtastatur

Ein Thema von Störtebeker · begonnen am 17. Okt 2007 · letzter Beitrag vom 17. Okt 2007
Antwort Antwort
Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#1

Bildschirmtastatur

  Alt 17. Okt 2007, 18:16
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:
procedure TForm1.Button70Click(Sender: TObject);
begin
SynEdit1.seltext:=''+#13#10+'';
end;
Nun wollte ich für die "Zurück".Taste folgenden Code setzten:

Delphi-Quellcode:
procedure TForm1.Button71Click(Sender: TObject);
begin
Keybd_event(VK_RETURN,0,0,0);
end;
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.

Fehlt noch irgnedwie was, oder geht das so überhaupt?
Miniaturansicht angehängter Grafiken
bskb_720.jpg  
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Bildschirmtastatur

  Alt 17. Okt 2007, 18:20
VK_RETURN ist aber die Enter-Taste
suche mal nach keybd_event hier im Forum, dann findest du diverse Beispiele inklusive dem Code um die taste wieder "loszulassen"
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

Re: Bildschirmtastatur

  Alt 17. Okt 2007, 18:22
Für Backspace müsste #8 gehen, und #9 ist Tabulator.
Nur die VK_... Bezeichnung weiß ich im Moment nicht.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#4

Re: Bildschirmtastatur

  Alt 17. Okt 2007, 19:10
Natürlich: 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:
procedure TForm1.Button70Click(Sender: TObject);
begin
SynEdit1.seltext:=''+#8+;
end;
und mit VK_BACK
Delphi-Quellcode:
procedure TForm1.Button71Click(Sender: TObject);
begin
Keybd_event(VK_BACK,0,0,0);
end;
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

Re: Bildschirmtastatur

  Alt 17. Okt 2007, 19:20
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.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#6

Re: Bildschirmtastatur

  Alt 17. Okt 2007, 19:23
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz