![]() |
Enter Taste in einem TEdit Feld
Habe eine Kleine Frage. Für den einen oder anderen sicher leicht für mich eine Bisher unlösbare aufgabe.
Ich habe auf einem Formular ein Tedit feld. Dort möchte ich das er beim Drücken der Enter Taste die Gleiche Funktion ausführt wie als wenn es mit der Maus auf den Button Suchen klickt. das habe ich 2 mal auf dem Formular ! Es geht ja auch schon. ich habe mit der OnKeyDown methode gearbeitet. nur jedes mal wenn ich die Enter taste drücke bekomme ich vom Windows einen Ton gesendet.... wie kann ich den Ton vermeiden,. Gruss Sascha |
Re: Enter Taste in einem TEdit Feld
Hallo,
mach es im OnKeyPress des Edits:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin If Key = #13 then begin Button1.Click; //Button suchen Key := #0; end; end; |
Re: Enter Taste in einem TEdit Feld
Die 'offizielle' bzw. Windows-konforme Version ist, das man die Eigenschaft 'Default' des Buttons 'Suchen' den Wert True zuweist. Dann wird dieser Button gedrückt, wenn der Anwender ENTER drückt. Außerdem wird der button schwarz umrandet, was den Anwender auf diesen Umstand hinweist. Im Gegensatz dazu gibt es auch eine Eigenschaft 'Cancel'. Ist diese Eigenschaft gesetzt, reagiert der Button auf die Taste 'ESC'.
|
Re: Enter Taste in einem TEdit Feld
Der Thread-Ersteller schrieb aber ganz explizit dass es im edit passieren soll
|
Re: Enter Taste in einem TEdit Feld
Danke. Das war die Lösung.
Kann es sein das mit dem Key := #0 der alte wert überschrieben wird und somit die aktion wenn man eine Taste #13 nicht übergeben wird und somit der Ton unterdrückt wird ?? PS: Nur zu meinem verständnis gefragt. Gruss Sascha |
Re: Enter Taste in einem TEdit Feld
Zitat:
Das kann man u.a. dazu benutzen die Eingabe zu filtern, wenn man z.B. nur Zahlen erlauben will. #0 bedeutet das ein ANSI Zeichen eingefügt wird, eine Tabelle dieser Zeichen sollte sich mit Google finden lassen, zu beachten ist der Zeichensatz enthält auch Steuerzeichen wie #13 also Enter. |
AW: Enter Taste in einem TEdit Feld
prozedurale TfrmSequenzer.edtKeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin Key := #0; self.SelectNext(Sender as TWinControl, true, true); end; end; ist auch eine Möglichkeit. |
AW: Enter Taste in einem TEdit Feld
Du kannst Deinen Quellcode etwas übersichtlicher formatieren, wenn Du das Delphi-Symbol (= gelber Helm mit dem roten Kamm) vom Menü direkt über dem Editorfenster benutzt.
Gruß, Andreas PS: Und das geht auch nachträglich über die Taste "Bearbeiten" am rechten unteren Rand des Editor-Fensters. |
AW: Enter Taste in einem TEdit Feld
und für das #13 gibt's schon eine vordefinierte Konstante:
vk_return Solche gibt's auch für diverse andere Sondertasten... |
AW: Enter Taste in einem TEdit Feld
Und der Thread ist von 2007 :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 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 by Thomas Breitkreuz