AGB  ·  Datenschutz  ·  Impressum  







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

Edit-Feld nach Eingabe mit ENTER verlassen

Ein Thema von wireless · begonnen am 2. Okt 2007 · letzter Beitrag vom 5. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
wireless

Registriert seit: 2. Okt 2007
Ort: Auerbach im Vogtland
15 Beiträge
 
Delphi 5 Professional
 
#1

Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 18:57
Hallo Gemeinde,

Ich habe mehrere Edit-Felder im Formular. Ich möchte über die Enter-Taste ein Edit-Feld verlassen und das nächste anspringen. Vorher möchte ich in diesem Edit-Feld Daten eingeben.
Wie geht das über ein Ereignis ?

freundliche Grüße
wireless
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 18:58
Hallo, herzlich Willkommen!

Das geht beispielsweise über die OnKeyPress/OnKeyDown-Ereignisse und Delphi-Referenz durchsuchenSetFocus.


Edit:
Ganz allgemein kannst du es auch so machen:

Delphi-Quellcode:
procedure TForm1.MyEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
    Perform(WM_NEXTDLGCTL, 0, 0);
end;
und allen Edits diese Prozedur dem OnKeyDown-Ereignis zuweisen.
  Mit Zitat antworten Zitat
wireless

Registriert seit: 2. Okt 2007
Ort: Auerbach im Vogtland
15 Beiträge
 
Delphi 5 Professional
 
#3

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:06
Hallo Matthias,

habe ich schon probiert, auf Edit1 im Ereignis OnKeyPress des Focus auf das nächste Edit-Feld gesetzt, also Edit2.SetFocus; beispielsweise. Das lässt aber keine EINGABE im Edit1-Feld zu, zumindest keine Eingabe die länger als ein Zeichen ist. Dann sprint der Cursor respektive der Focus sofort auf das Edit2-Feld.
freundliche Grüße
wireless
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:10
Zitat von wireless:
Hallo Matthias,

habe ich schon probiert, auf Edit1 im Ereignis OnKeyPress des Focus auf das nächste Edit-Feld gesetzt, also Edit2.SetFocus; beispielsweise. Das lässt aber keine EINGABE im Edit1-Feld zu, zumindest keine Eingabe die länger als ein Zeichen ist. Dann sprint der Cursor respektive der Focus sofort auf das Edit2-Feld.
freundliche Grüße
wireless
du darfst auch nur springen wenn enter gedrückt wurde (#10 bzw VK_RETURN)
Matze hat seinen Beitrag nochmal editiert, schau mal was er geschrieben hat
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
wireless

Registriert seit: 2. Okt 2007
Ort: Auerbach im Vogtland
15 Beiträge
 
Delphi 5 Professional
 
#5

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:16
Hallo,

danke für die Hilfe. Es geht nur, wenn man es auf Keydown legt. Jetzt muß ich nur noch vom letzten Edit-Feld wieder auf das 1. Edit-Feld den Fokus setzen.

danke, gemeinde !!
fg

wireless
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:19
Zitat von wireless:
Es geht nur, wenn man es auf Keydown legt.
Einspruch!
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    begin
      Key := #0;
      self.Perform(WM_NEXTDLGCTL,0,0);
    end;
end;
P.S.: VK_RETURN ist #13
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:25
Zitat von DeddyH:
P.S.: VK_RETURN ist #13
hups -.-
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
wireless

Registriert seit: 2. Okt 2007
Ort: Auerbach im Vogtland
15 Beiträge
 
Delphi 5 Professional
 
#8

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:31
Okay, Leute, BEIDES funktioniert.

Aber wie komme ich dann vom LETZTEN Edit-Feld zurück auf das 1. Edit-Feld, und nicht auf das nächste Objekt - ein Button - den ich jetzt nicht besuchen will ?

freundliche Grüße

wireless
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#9

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:36
Delphi-Quellcode:
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    begin
      Key := #0;
      Edit1.SetFocus;
    end;
end;
Bei mir heißt das letzte Edit halt Edit3
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Edit-Feld nach Eingabe mit ENTER verlassen

  Alt 2. Okt 2007, 19:38
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    begin
      Key := #0;
      self.Perform(WM_NEXTDLGCTL,0,0);
      if not (ActiveControl is TEdit) then
        Edit1.SetFocus;
    end;
end;
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:20 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