Fang-Dialog für Tastenkürzel

Rund um die LCL und andere Komponenten
Antworten
diogenes
Beiträge: 202
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien

Fang-Dialog für Tastenkürzel

Beitrag von diogenes »

Weiß jemand, wie ich auf den Dialog zugreifen kann, mit dem man Tastenlürzel (Shortcuts) fangen kann?
Das ist ein Doalog, in dem man die Kombination eingibt, und dann müüste der TShortcut-Wert erreichbar sein.

Ich weiß ungefähr, wie man sowas programmiert, aber warum das Rad zum 2. Mal erfinden?
Ceterum censeo computatores per Pascal docendos esse.

Benutzeravatar
theo
Beiträge: 11295
Registriert: Mo 11. Sep 2006, 19:01

Re: Fang-Dialog für Tastenkürzel

Beitrag von theo »

Im Projektinspektor IDEIntf als "Anforderung" hinzufügen.

Code: Alles auswählen

uses PropEdits; 
...
var
  Gb:TShortCutGrabBox;    
...
procedure TForm1.FormCreate(Sender: TObject);
begin
   Gb:=TShortCutGrabBox.Create(self);
   GB.Align:=alTop;
   Gb.Parent:=Self;
end;  
Habe ich jetzt ganz ohne KI herausgefunden. :lol:

diogenes
Beiträge: 202
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien

Re: Fang-Dialog für Tastenkürzel

Beitrag von diogenes »

Ich glaube Dir, dass Du das ohne KI herausgefunden hast :)

Ich hjingengen hab's nicht gefunden … :)
Danke!
Ceterum censeo computatores per Pascal docendos esse.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1764
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Fang-Dialog für Tastenkürzel

Beitrag von fliegermichl »

theo hat geschrieben: Mi 22. Apr 2026, 10:49 Im Projektinspektor IDEIntf als "Anforderung" hinzufügen.

Code: Alles auswählen

uses PropEdits; 
...
var
  Gb:TShortCutGrabBox;    
...
procedure TForm1.FormCreate(Sender: TObject);
begin
   Gb:=TShortCutGrabBox.Create(self);
   GB.Align:=alTop;
   Gb.Parent:=Self;
end;  
Habe ich jetzt ganz ohne KI herausgefunden. :lol:
Wie hast du das herausgefunden?

Ich hatte einen Breakpoint in main.pp in TMainIDE.DoOpenIDEOptions gesetzt und gesehen, dass dann der IDEOptionsDialog erstellt und ausgeführt wird. Da war dann Ende.

Benutzeravatar
theo
Beiträge: 11295
Registriert: Mo 11. Sep 2006, 19:01

Re: Fang-Dialog für Tastenkürzel

Beitrag von theo »

fliegermichl hat geschrieben: Mi 22. Apr 2026, 13:26 Wie hast du das herausgefunden?
Wo ein Wille ist, ist auch ein Weg! :lol:

So einen Dialog gibt es ja z.B. ausgehend vom Shortcut eines TMenuItem.
Dort steht z.B. "Taste Fangen" bzw. "Grab Key".
Dann suche ich einfach mal in Dateien im Lazarus Verzeichnis, wo "Grab Key" vorkommt.
Dabei stösst man auf die Unit designer/MenuShortcuts.
Dort wird die TShortCutGrabBox benutzt, welche in components/ideintf/PropEdits in deklariert ist und schon ist man am Ziel.

Es gibt sicher viele andere Wege. Ich benutze oft die Volltextsuche, gerade in "fremdem" Code.

Antworten