TFileNameEdit per Hotkey öffnen?

Rund um die LCL und andere Komponenten
Antworten
schorsch
Beiträge: 46
Registriert: Sa 20. Mär 2010, 23:00
OS, Lazarus, FPC: Win10x64, RaspberryPi, MAC
CPU-Target: so ziemlich alles

TFileNameEdit per Hotkey öffnen?

Beitrag von schorsch »

Moin,
hat da jemand vielleicht ne Idee? "execute" gibt's da leider nicht.

Tks and happy new year ;-)

de Schorsch
der feind der erde ist der mensch

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: TFileNameEdit per Hotkey öffnen?

Beitrag von Michl »

Eine Variante wäre das Ableiten eines eigenen TFileNameEdites (in der Form-Unit, wo per IDE das TFileNameEdites abgelegt wurde), den Button sichtbar machen und dann z.B. mittels TAction:

Code: Alles auswählen

type
 
  TFileNameEdit = class(EditBtn.TFileNameEdit)
  public
    property Button;
  end;
 
  TForm1 = class(TForm)
    Action1: TAction;
    ActionList1: TActionList;
    FileNameEdit1: TFileNameEdit;
    procedure Action1Execute(Sender: TObject);
  end;
...
procedure TForm1.Action1Execute(Sender: TObject);
begin
  FileNameEdit1.Button.Click;
end;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

schorsch
Beiträge: 46
Registriert: Sa 20. Mär 2010, 23:00
OS, Lazarus, FPC: Win10x64, RaspberryPi, MAC
CPU-Target: so ziemlich alles

Re: TFileNameEdit per Hotkey öffnen?

Beitrag von schorsch »

hmm, bin nicht so der action-fan. gibt es da nix eleganteres - ansonsten auch nicht so schlimm, dann muss man halt zur maus greifen :-(

tks..
der feind der erde ist der mensch

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TFileNameEdit per Hotkey öffnen?

Beitrag von wp_xyz »

schorsch hat geschrieben:hmm, bin nicht so der action-fan. gibt es da nix eleganteres

Was? Wenn du dir einmal die Zeit genommen hast, dich in Actions einzuarbeiten, wirst du nie mehr Click-Prozeduren für Toolbuttons and MenuItems verwenden. Siehe z.B. https://www.delphi-treff.de/tutorials/v ... verwenden/

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: TFileNameEdit per Hotkey öffnen?

Beitrag von Michl »

schorsch hat geschrieben:hmm, bin nicht so der action-fan. gibt es da nix
Ich mag zwar auch lieber TActions, aber mittels MainForm.KeyPreview = True geht bedingt auch sowas (mit <Strg> + <O> wird jetzt der Dialog geöffnet):

Code: Alles auswählen

uses ..., LCLType;
 
type
 
  TFileNameEdit = class(EditBtn.TFileNameEdit)
  public
    property Button;
  end;
 
  TForm1 = class(TForm)
    FileNameEdit1: TFileNameEdit;
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  end;
...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if ssCtrl in Shift then
    case Key of
      VK_O: FileNameEdit1.Button.Click;
    end;
end;     

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten