AGB  ·  Datenschutz  ·  Impressum  







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

Button beim drücken der ENTER-Taste ausführen

Ein Thema von Luckner · begonnen am 6. Mai 2014 · letzter Beitrag vom 6. Mai 2014
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: Button beim drücken der ENTER-Taste ausführen

  Alt 6. Mai 2014, 16:18
Also ich habe das zwar noch nie bei Buttons angewendet, aber bei Edits springe ich so zum nächsten Feld:
Delphi-Quellcode:
function NextDlgCtl(AForm: TForm; var Key: Char): Boolean;
begin
  Result := Key = Chr(VK_RETURN);

  if Result then
  begin
    AForm.Perform(WM_NEXTDLGCTL, 0, 0);
    Key := #0;
  end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  NextDlgCtl(Self, Key);
end;
Mit Edits kein Problem, bei Buttons klappt das nicht so ohne weiteres. Allgemein funktioniert das direkt mit Leertaste, wie (ich glaube) DeddyH es geschrieben hat. Das kann man leicht lösen mit einer Eigenschaft von TButton:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Default := True;
end;
//EDIT:

Ups, kleiner Fehler, bzw. Korrektur. Default := True führt ein OnClick beim Button aus, d. h. die Funktion wird nicht über OnKeyPress aufgerufen, sondern über OnClick.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Key: Char;
begin
  Key := #13;
  NextDlgCtl(Self, Key);
end;
Bei Edit Feldern kommt die Funktion in OnKeyPress rein. Bein Button, falls Default := True ist, in OnClick.

//Edit Ende

Es gibt übrigens auch FindNextControl , mit dem man den nächsten Control in der Reihe finden kann. Dann einfach dem den Fokus geben. Nur falls das oben nicht klappt.

Geändert von Popov ( 6. Mai 2014 um 16:40 Uhr)
  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 12:01 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