Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Enter Taste in einem TEdit Feld (https://www.delphipraxis.net/95860-enter-taste-einem-tedit-feld.html)

dor557 14. Jul 2007 18:20


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

Helmi 14. Jul 2007 18:25

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;

alzaimar 14. Jul 2007 18:36

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'.

Helmi 14. Jul 2007 18:39

Re: Enter Taste in einem TEdit Feld
 
Der Thread-Ersteller schrieb aber ganz explizit dass es im edit passieren soll

dor557 14. Jul 2007 18:44

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

arbu man 14. Jul 2007 18:52

Re: Enter Taste in einem TEdit Feld
 
Zitat:

Zitat von dor557
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

Ja, teste doch auch mal Key := 'f' dann siehst du genau was passiert. (Anstatt Enter sollte im Editfeld ein f erscheien)
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.

juerg5524 29. Dez 2020 09:51

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.

Andreas13 29. Dez 2020 10:53

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.

TurboMagic 29. Dez 2020 11:27

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...

bernau 29. Dez 2020 11:46

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.
Seite 1 von 2  1 2      

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