Button F Tasten zuordnen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Michael19692
Beiträge: 18
Registriert: Mi 14. Mai 2014, 21:08
OS, Lazarus, FPC: Win8 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit

Button F Tasten zuordnen

Beitrag von Michael19692 »

Morgen an alle,

Ich versuche gerade verzweifelt meinem Programm bei zu bringen das wenn ich z.B. F3 drücke der Suchen Button als Button.click ausgelöst wird.

Dazu hab ich gelesen, dass man im Objekt Inspector das Formular KeyPreview auf True setzen soll. Und beim Ereigniss OnKeyPress

Code: Alles auswählen

 
 If Key = '[Wunschtaste]' Then
    [dein Button].Click;
 
Durch "Keypreview = True" wird das Form alle gedrückten Tasten verarbeiten bevor die Controls darauf können.
"Button.Click" simuliert einen Mausklick auf den Button.

Mit Tasten wie s geht das auch. Nur mit VK_F3 nicht. :(

Gruß
Michael

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Button F Tasten zuordnen

Beitrag von m.fuchs »

Nimm mal statt OnKeyPress das Ereignis OnKeyDown:

Code: Alles auswählen

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VK_F3 then
    Button1.Click;
end;
OnKeyPress soll man nur benutzen, wenn es sich um darstellbare Zeichen handelt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Button F Tasten zuordnen

Beitrag von Scotty »

Eine bessere Lösung wäre die Nutzung einer Actionlist. Dort einfach eine neue Action erstellen, den Hotkey deiner Wahl zuordnen und dann bei den Controls, die mit dieser Action assoziiert sein sollen (Menüitem, Toolbarbutton, Button etc), die Property hinzufügen. Das Ereignis wird dann nicht mehr im OnClick behandelt sondern im OnExecute, bzw. solltest du den Code dorthin schieben.

F3 solltest du übrigens nicht benutzen: das ist der Standardhotkey für "Weiter suchen".

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Button F Tasten zuordnen

Beitrag von Antrepolit »

Scotty hat geschrieben:Eine bessere Lösung wäre die Nutzung einer Actionlist. Dort einfach eine neue Action erstellen, den Hotkey deiner Wahl zuordnen und dann bei den Controls, die mit dieser Action assoziiert sein sollen (Menüitem, Toolbarbutton, Button etc), die Property hinzufügen. Das Ereignis wird dann nicht mehr im OnClick behandelt sondern im OnExecute, bzw. solltest du den Code dorthin schieben.

F3 solltest du übrigens nicht benutzen: das ist der Standardhotkey für "Weiter suchen".
Dem kann ich nur zustimmen. ActionLists sind die definitiv bessere Lösung, da sie bessere Funktionalitäten beinhalten und viel Arbeit sparen.
Grüße, Antrepolit

care only if your os is really burning

Michael19692
Beiträge: 18
Registriert: Mi 14. Mai 2014, 21:08
OS, Lazarus, FPC: Win8 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit

Re: Button F Tasten zuordnen

Beitrag von Michael19692 »

Ok, ich schau mal was ich zu dem Thema finde und wie weit ich komme. :lol:

Antworten