Autor Beitrag
mtin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177

Win XP SP2
BDS2006 Enterprise
BeitragVerfasst: Mo 28.11.05 21:42 
ich hab ein Programm geschrieben, welches 2 hotkeys registriert und dann bei dem einen einen screenshot macht und bei dem anderen diesen screenshot auch noch auf einen Server hochläd. Dies habe ich so gelöst:

ausblenden Delphi-Quelltext
1:
2:
3:
//eben ein Auswahlmenü mit 8 Einträgen von F1 bis F8
//wenn man dann z.b. F8 auswählt:
RegisterHotKey(Form1.Handle,id_screenshot,0,VK_F8);
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
//und dann das um die Aufzufangen:
procedure TForm1.WMHotKey(var Msg : TWMHotKey);
begin
 if Msg.HotKey=id_uploadshot then blablabla
 if Msg.HotKey=id_screenshot then lalalalaaa
end;

allerdings ist das nicht so das wahre, und um den hotkey zu speichern hab ich dann einfach nen string mit dem Namen der Taste gespeichert und dann beim Programmstart nen haufen if-Abfragen um wieder den richtigen hotkey zu registrieren...


Jetzt würde ich das gern irgendwie so lösen, dass der User eine beliebige 2-Tasten-Kombination eingeben kann! Also z.b. nen Button und nachdem man da drauf geklickt hat drückt man ALT+S und dann wird ein Hotkey für ALT+S registriert (was ich auch schon nich weiß(wie man Tastenkombinationen registriert)). Und dann müsste diese Kombination auch noch irgendwie so gespeichert werden, dass man die beim nächsten Programmstart wiederherstellen kann...weil mit if-Abfragen komm ich dann nich mehr weit ;)

hoffentlich kann mir da jemand helfen!
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Di 29.11.05 09:57 
In der Komponentenpallete "Win32" gibt es ein Controll namens THotkey das erstmal die Eingabesachen für dich managed.
Dessen TShortcut kannst du ja dann fortlaufend in der Registry speichern und beim Programmstart eine Schleife diese durchgehen lassen und registrieren.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 29.11.05 11:36 
Ab welcher Delphi-Version gibt es diese THotKey Komponente?

_________________
Ein Nutzer der Ecke ;-)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 29.11.05 11:38 
Da du Delphi 7 in deinem Profil stehen hast, hast du die Komponente. Die ist wohl erst ab Delphi 6 verfügbar, ich kann mich jedenfalls bei Delphi 5 nicht daran erinnern.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Di 29.11.05 11:50 
Die gehört doch zu den WinControls, daher meine ich, dass die eigentlich schon immer da war :-/
mtin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177

Win XP SP2
BDS2006 Enterprise
BeitragVerfasst: Di 29.11.05 17:39 
ok, danke, das war echt GENAU was ich gesucht habe!!

allerdings...wie registrier ich jetzt die Tastenkombination als Hotkey und wie speicher ich den Hotkey??

also so klappt das zwar wenn ich nur eine Taste in das THotKey-Feld eintrage, bei einer Kombination geht es aber nicht mehr:

ausblenden Delphi-Quelltext
1:
RegisterHotKey(Form1.Handle,id_screenshot,0,HotKey1.HotKey);					


und zum speichern bzw. laden beim Programmstart hab ich auch keine Idee!!!
(hab alle anderen Einstellungen in ner .ini, wär schön wenn das da auch irgendwie speicherbar wäre!!!)