![]() |
OnKeyDown: Wert nicht erfassen
Hi,
steh gerade etwas auf dem schlauch. wie war noch gleich der wert in einem OnKeyDown, welcher beim OnKeyPress als Key := #0 definiert wird? Klar umgehen könnte man es mit nem Copy Befehl, scheint mir aber nicht gerade elegant zu sein.
Delphi-Quellcode:
--> Copy(TextBox.Text,0,(Length(TextBox.Text)-1));
Delphi-Quellcode:
procedure TForm1.tbPLZKeyPress(Sender: TObject; var Key: Char);
begin if NOT (Key in [#08, '0'..'9']) then Key := #0; end;
Delphi-Quellcode:
procedure TForm1.tbInetKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin case Key of VK_OEM_PERIOD: begin // Key soll nicht im Objekt (hier: tbInet) erfasst werden ///////// nicht elegant --> tbInet.Text := Copy(tbInet.Text,0,(Length(tbInet.Text)-1)); cbInetDot.SetFocus; end; end; end; |
AW: OnKeyDown: Wert nicht erfassen
Du meinst
Delphi-Quellcode:
?
Key := 0;
|
AW: OnKeyDown: Wert nicht erfassen
ja genau :D
ohje... ich glaub jetzt bin ich unten durch^^ aber noch eine frage im anschluss. Meine "Edit" (namens "tbInet") wird dennoch mit einem "VK_OEM_PERIOD" ("." >Punkt<) bestückt. Das "Key := 0;" sollte doch eigentlich die Eingabe verhindern. oder?? zumindest möchte ich dies gerne. ("cbInetDot.SetFocus;" > wird wunderbar ausgeführt)
Delphi-Quellcode:
procedure TForm1.tbInetKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); var Str : String; begin case Key of VK_OEM_PERIOD: begin Key := 0;// Key soll nicht im Objekt (hier: tbInet) erfasst werden ///////// nicht elegant --> Copy(tbInet.Text),0,(Length(tbInet.Text)-1)); cbInetDot.SetFocus; end; end; end; |
AW: OnKeyDown: Wert nicht erfassen
Das geht im OnKeyPress aber einfacher. Wieso keine Kombination der beiden Events?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 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