Autor |
Beitrag |
StrikeLucky
      
Beiträge: 35
|
Verfasst: Fr 04.06.10 18:12
Moin Moin,
also ich möchte gerne das mein Programm auf "Strg" + "s" reagieren kann.
Wenn das Programm im Vordergrund ist, soll auf die Tastenkombination entsprechend reagiert werden.
Allerdings soll das nur funktionieren wenn das Programm im Vordergrund ist, sollte ein anderes Programm im Vordergrund sein, soll der Tastendruck von mein Programm ignoriert werden.
(In Firefox gibts auch sowas, einfach "Strg" und "d" drücken. Funktioniert auch nur wenn das Fenster im Vordergrund ist)
Ich hoffe jemand kann mir etwas helfen.
LG
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Fr 04.06.10 18:22
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
StrikeLucky 
      
Beiträge: 35
|
Verfasst: Fr 04.06.10 18:25
Aber genau das habe ich nicht gesucht, denn das funktioniert auch wenn die Anwendung inaktiv ist.
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Fr 04.06.10 18:29
Sry, hab ich überlesen^^ Dann guck dir ma THotKey an. da weiß ich aber auch grad nich, ob du nur im aktiven Progg arbeitet...
€: Die 1. Methode geht aber auch, prüf einfach vorher ob die Anwendung aktiv ist: Application.Active
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 04.06.10 18:37
Die einfachste Lösung ist einfach im Hauptmenü des Programms dem entsprechenden Menüeintrag den Shortcut zuzuordnen.
// EDIT: Bergmann89 hat folgendes geschrieben : | €: Die 1. Methode geht aber auch, prüf einfach vorher ob die Anwendung aktiv ist: Application.Active |
Das setzt aber auch die Shortcuts und Tasten in anderen Programmen außer Gefecht. Ob du den Hotkey dann tatsächlich nutzt oder nicht ist dabei irrelevant.
|
|
StrikeLucky 
      
Beiträge: 35
|
Verfasst: Fr 04.06.10 19:21
Bergmann89 hat folgendes geschrieben : | Sry, hab ich überlesen^^ Dann guck dir ma THotKey an. da weiß ich aber auch grad nich, ob du nur im aktiven Progg arbeitet...
€: Die 1. Methode geht aber auch, prüf einfach vorher ob die Anwendung aktiv ist: Application.Active |
Hehe ist ja nicht schlimm, hast es ja gut gemeint.
Danke ich werde mir mal THotKey ansehen.
jaenicke hat folgendes geschrieben : | Die einfachste Lösung ist einfach im Hauptmenü des Programms dem entsprechenden Menüeintrag den Shortcut zuzuordnen. |
Wie genau meinst du das?
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 04.06.10 19:24
Nun, wenn du z.B. den Menüeintrag Datei --> Drucken hast, dann kannst du dort den Shortcut Strg + P setzen und schon genügt die Tastenkombination um diesen Befehl auszulösen. 
|
|
StrikeLucky 
      
Beiträge: 35
|
Verfasst: Fr 04.06.10 19:29
Ah ok das funktioniert, da haste Recht:)
Aber wie mache ich das wenn ich kein Menü habe?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 04.06.10 19:37
Die Ereignisse OnKeyDown oder OnKeyPress des Formulares auswerten.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 04.06.10 19:38
Und KeyPreview des Formulars auf True setzen, damit die Tastendrücke auch immer ankommen.
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: Sa 05.06.10 09:26
Wenn Du nur kein Menü anzeigen lassen möchtest, dann kannst Du ja die Menü-Einträge alle auf visible:=false setzen und es geht trotzdem.
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 05.06.10 10:42
Hi
ffgorcky hat folgendes geschrieben : | Wenn Du nur kein Menü anzeigen lassen möchtest, dann kannst Du ja die Menü-Einträge alle auf visible:=false setzen und es geht trotzdem. |
Nah, ich krieg' immer ein  , wenn ich von unsichtbaren TMemos, TImages oder auch TMainMenus höre  Das sind visuelle Komponenten, die eine einfachere und zu bevorzugende Klasse oder Funktion kapseln: TStringList, TBitmap, OnKeyDown, ..
Luckie hat folgendes geschrieben : | Die Ereignisse OnKeyDown oder OnKeyPress des Formulares auswerten. |
Das ist die einzig richtige Lösung. THotKey geht glaube ich auch, ist aber darauf ausgelegt, vom User noch bei Bedarf umbelegt zu werden. [Strg][s] sollte aber immer gleich bleiben.
lg,
E:
jaenicke hat folgendes geschrieben : | Und KeyPreview des Formulars auf True setzen, damit die Tastendrücke auch immer ankommen. |
Zu beachten. 
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Sa 05.06.10 10:47, insgesamt 1-mal bearbeitet
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 05.06.10 10:44
|
|
|