Autor Beitrag
StrikeLucky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
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)
BeitragVerfasst: Fr 04.06.10 18:22 

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
StrikeLucky Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: Fr 04.06.10 18:25 
Aber genau das habe ich nicht gesucht, denn das funktioniert auch wenn die Anwendung inaktiv ist.
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
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)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 04.06.10 18:37 
Die einfachste Lösung ist einfach im Hauptmenü des Programms dem entsprechenden Menüeintrag den Shortcut zuzuordnen.

// EDIT:
user profile iconBergmann89 hat folgendes geschrieben Zum zitierten Posting springen:
€: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: Fr 04.06.10 19:21 
user profile iconBergmann89 hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Die einfachste Lösung ist einfach im Hauptmenü des Programms dem entsprechenden Menüeintrag den Shortcut zuzuordnen.

Wie genau meinst du das?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 35



BeitragVerfasst: 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



BeitragVerfasst: Fr 04.06.10 19:37 
Die Ereignisse OnKeyDown oder OnKeyPress des Formulares auswerten.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 04.06.10 19:38 
Und KeyPreview des Formulars auf True setzen, damit die Tastendrücke auch immer ankommen.
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 05.06.10 10:42 
Hi :)

user profile iconffgorcky hat folgendes geschrieben Zum zitierten Posting springen:
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 :hair:, 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, ..

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
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:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Und KeyPreview des Formulars auf True setzen, damit die Tastendrücke auch immer ankommen.
Zu beachten. :idea:

_________________
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



BeitragVerfasst: Sa 05.06.10 10:44 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Die Ereignisse OnKeyDown oder OnKeyPress des Formulares auswerten.
Das ist die einzig richtige Lösung.

Danke. Schön, dass du das auch so siehst.