Seite 2 von 2
Verfasst: 09.08.2007 17:35
von PBZecke
Brauchste auch nur zwei übergeben. In Deiner procedure HotkeyCallback Wparam und lparam sind die Werte die du dann bei msg #WM_HOTKEY übergeben bekommst
Also #WM_HOTKEY abfangen und dann Dein wparam auslesen
Verfasst: 09.08.2007 18:03
von dysti
so funktioniert es (PB ab 4.0):
Code: Alles auswählen
#Hauptfenster=0
Global HotkeyStrgC ,HotkeyStrgX,HotkeyStrgV
Procedure HotkeyCallback(hwnd, msg, wParam, lParam)
result = #PB_ProcessPureBasicEvents
Select msg
Case #WM_HOTKEY
If wParam=HotkeyF5:
MessageRequester("Info", "HotkeyF5")
ElseIf wParam=HotkeyStrgX:
MessageRequester("Info", "HotkeyStrgX")
ElseIf wParam=HotkeyStrgC:
MessageRequester("Info", "HotkeyStrg")
ElseIf wParam=HotkeyStrgV:
MessageRequester("Info", "HotkeyStrgV")
EndIf
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow(#Hauptfenster, 100, 200, 900, 500, "Seitentitel", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_Maximize)
CreateGadgetList(WindowID(#Hauptfenster))
;HotkeyF5 = GlobalAddAtom_("F5")
HotkeyStrgX = GlobalAddAtom_("Strg-X")
HotkeyStrgC = GlobalAddAtom_("Strg-C")
HotkeyStrgV = GlobalAddAtom_("Strg-V")
;RegisterHotKey_(WindowID(#Hauptfenster), HotkeyF5, #VK_F5)
If RegisterHotKey_(WindowID(#Hauptfenster), HotkeyStrgX, #MOD_CONTROL , #VK_X)
MessageRequester("Info", "HotKeys sind initialisiert")
Else
MessageRequester("Info", "Hotkey nicht initialisiert")
EndIf
RegisterHotKey_(WindowID(#Hauptfenster), HotkeyStrgC, #MOD_CONTROL , #VK_C)
RegisterHotKey_(WindowID(#Hauptfenster), HotkeyStrgV, #MOD_CONTROL , #VK_V)
SetWindowCallback(@HotkeyCallback())
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Verfasst: 09.08.2007 18:05
von DerProgrammierer78
Und wie erkennt der dann, welcher Hotkey nun aktiviert wurde ? Weil irgendwie muss ich die ja mit Select und Case auswerten können oder ?
Ich bin irgendwie irritiert

Verfasst: 09.08.2007 18:17
von DerProgrammierer78
Hallo dysti,
Bei deinem Beispiel sagt er zwar, dass die Hotkeys installiert sind, aber sie funktionieren leider nicht ...
Liegt das evtl. daran, dass ich PB 4.1 Beta 2 nutze ?
Verfasst: 09.08.2007 18:19
von dysti
Es muste diese Zeile noch eingefügt werden. Habe es oben geändert.
Verfasst: 09.08.2007 19:03
von DerProgrammierer78
Super ... danke !!! das klappt nun .... !!!