Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bestimmte Taste einem Button zuweisen (https://www.delphipraxis.net/18227-bestimmte-taste-einem-button-zuweisen.html)

MrsCalahan 16. Mär 2004 11:27


Bestimmte Taste einem Button zuweisen
 
Hi zusammen!

Wie weise ich einem Button eine Taste zu? Zum Beispiel soll das selbepassieren wenn ich Button1 drücke oder die "+" taste drücke.
Bin Blutiger Anfänger und freu mich über jegliche Hilfe!

Gruß MrsCalahan

Hansa 16. Mär 2004 11:46

Re: Bestimmte Taste einem Button zuweisen
 
ungefähr so :

Delphi-Quellcode:

procedure TForm1.btnClick(Sender: TObject);
begin
  frmA.Show;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case chr (key) of
    '+' : btnClick (Sender);
  end;
end;

Robert_G 16. Mär 2004 11:50

Re: Bestimmte Taste einem Button zuweisen
 
Im OI für das Formular KeyPreview auf True setzen und im OnKeyPress Event des Formulars das reinschreiben:
Delphi-Quellcode:
  If Key = '+' Then
    [dein Button].Click;
Durch "Keypreview = True" wird das Form alle gedrückten Tasten verarbeiten bevor die Kontrols darauf können.
"Button.Click" simuliert einen Mausklick auf den Button.

:lol: wie lange hatte ich die Seite denn bloß nicht aktualisiert :gruebel:

DelphiDeveloper 16. Mär 2004 12:22

Re: Bestimmte Taste einem Button zuweisen
 
ich würde hierzu eher eine TActionList benutzen, der Action einen ShortCut verpassen und dem button die Action. Im Excute der Action schreibst du dann dein Event.



wenn dein + was konkretes ist, soll es wohl sowas wie ein add/insert sein. In anderen
Controls wie TEdit koennte der user aber dann das + nicht mehr verwenden. Die Taste [Einfg]
wäre da schon besser.


Zu beachten ist außerdem dass das Verhalten "echter click auf Button" oder über "shortcut" nicht identisch sind. Denn bei erster Variant gibt das aktuelle Steuerellement den Focus ab und bei zweiterer nicht. Dis gilt jedenfalls fuer einen TButton oder TBitBtn. Ein TSpeedBtn zieht von hause aus nie den focus an sich.

Robert_G 16. Mär 2004 12:43

Re: Bestimmte Taste einem Button zuweisen
 
@DelphiDeveloper
Natürlich würde jeder erfahrene Programmierer Actions für's Userinterface benutzen.
Aber lies' doch mal
Zitat:

Zitat von MrsCalahan
Bin Blutiger Anfänger und freu mich über jegliche Hilfe!

Mit Actions & ActionList fängt man für gewöhnlich an wenn man weit genug ist um wirklich einen Vorteil daraus ziehen zu können.
Einen Neuling kann man damit ziemlich schnell überladen.

DelphiDeveloper 16. Mär 2004 12:47

Re: Bestimmte Taste einem Button zuweisen
 
@robert finde nicht dass eine TActionList etwas kompliziertes ist, und somit auch für
Anfänger geeignet ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 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