AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Alternativer START über Button oder <ENTER>

Ein Thema von Sel2012 · begonnen am 8. Mai 2020 · letzter Beitrag vom 8. Mai 2020
Antwort Antwort
Sel2012

Registriert seit: 6. Jun 2015
Ort: 31535
103 Beiträge
 
Delphi XE5 Professional
 
#1

Alternativer START über Button oder <ENTER>

  Alt 8. Mai 2020, 17:00
Hallo,
nachdem "<ENTER>-Taste für programminterne Befehle nutzen" mit engagierter, fundierter und gut nachvollziehbarer Hilfe (Danke, danke!!) gut funktioniert, bleibt noch ein (kleiner?) Schritt:

Ich kann mittels Button-Click eine längeren Routine starten und möchte diese Routine auch mit Klick auf die <ENTER>-Taste der Tastatur starten. (Also irgendwie ein ODER).
Also dieselbe procedure soll über 2 mögliche Klicks unabhängig voneinander zu starten sein.
(Die procedure für den <ENTER>-Tasten-Start läuft, liefert aber nur innerhalb dieser procedure eigene Steuerungsmöglichkeiten).

Entschuldigt bitte die niveaulose Fragestellung, aber ich lese anscheinend immer die falschen Bücher.

Danke, Seli
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.010 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Alternativer START über Button oder <ENTER>

  Alt 8. Mai 2020, 19:12
Du willst wissen, wie du eine Methode aufrufst?

Richtig wäre so:
Delphi-Quellcode:
procedure TForm1.Wuppdi();
begin
  // mach was
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VK_RETURN then begin
    Wuppdi();
    Key := 0; // du hast ja schon was gemacht, also die Standardbehandlung nun verhindern
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Wuppdi();
end;
Dafür muss man die procedure Wuppdi(); in der Klasse TForm1 im interface -Teil deklarieren, dazu macht man Rechtsklick auf die Methode und "Klasse vervollständigen".

Wer nicht gerne selber Methoden anlegt, für den gibt es noch die naive Herangehensweise:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VK_RETURN then begin
    Button1Click(Sender);
    Key := 0; // du hast ja schon was gemacht, also die Standardbehandlung nun verhindern
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // mach was
end;
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:11 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