From 6fad3235de6bec045fec19a7265e19e880ac84e2 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 30 Jul 2017 17:30:39 +0300 Subject: Hotkeys: code cleaning --- include/delphi/m_helpers.inc | 2 +- include/delphi/m_hotkeys.inc | 57 ++++++-------------------------------------- 2 files changed, 8 insertions(+), 51 deletions(-) (limited to 'include/delphi') diff --git a/include/delphi/m_helpers.inc b/include/delphi/m_helpers.inc index dd81e8e534..d5160da04c 100644 --- a/include/delphi/m_helpers.inc +++ b/include/delphi/m_helpers.inc @@ -333,7 +333,7 @@ end; function Hotkey_Register(hk:PHOTKEYDESC):int_ptr; begin - result:=CallService(MS_HOTKEY_REGISTER, hLangpack, LPARAM(hk)); + result:=_Hotkey_Register(hk, hLangpack); end; function Skin_AddIcon(si:PSKINICONDESC):THANDLE; diff --git a/include/delphi/m_hotkeys.inc b/include/delphi/m_hotkeys.inc index c1042bfabd..ba3450f33c 100644 --- a/include/delphi/m_hotkeys.inc +++ b/include/delphi/m_hotkeys.inc @@ -25,10 +25,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. const HKD_UNICODE = $0001; + HKF_MIRANDA_LOCAL = $8000; + type PHOTKEYDESC = ^THOTKEYDESC; THOTKEYDESC = record - cbSize :int; pszName :PAnsiChar; // name to refer to hotkey when playing and in db pszDescription:TChar; // description for options dialog pszSection :TChar; // section name used to group sounds (NULL is acceptable) @@ -38,60 +39,16 @@ type dwFlags :dword; // Miranda ver >=9.0 end; -const - HKF_MIRANDA_LOCAL = $8000; -{ use this macro to defile hotkey codes like this: - hkd.DefHotkey = HOTKEYCODE(HOTKEYF_SHIFT|HOTKEYF_EXT, 'A'); -} -// HOTKEYCODE(mod,vk) (MAKEWORD((vk),(mod))) - -{ CoreHotkeys/Register service -Registers new hotkey - wParam=(WPARAM)0 - lParam=(LPARAM)(HOTKEYDESC *)hotkey -Returns 0 on failure or hotkey atom id on success -} - MS_HOTKEY_REGISTER:PAnsiChar = 'CoreHotkeys/Register'; - -{ CoreHotkeys/Unregister service -Unregister existing hotkey - wParam=(WPARAM)0 - lParam=(LPARAM)(AnsiChar *)pszName -Returns 0 on success or nonzero otherwise -} - MS_HOTKEY_UNREGISTER:PAnsiChar = 'CoreHotkeys/Unregister'; - -{ CoreHotkeys/Check service -Checks if "manual" hotkey was activated and returns its id. - wParam=(WPARAM)(MSG *)message - lParam=(LPARAM)(AnsiChar *)pszSection -Returns lParam associated with activated hotkey -} - MS_HOTKEY_CHECK:PAnsiChar = 'CoreHotkeys/Check'; - -{ Subclass/unsubclass edit box to act as hotkey control - wParam=(WPARAM)(HWND)hwndEdit - lParam=(LPARAM)0 -Returns zero on success - -You will get notification with LOWORD(wParam) == 0 when users sets hotkey. - -Subclassed control processes HKM_SETHOTKEY and HKM_GETHOTKEY similarly to -windows' hotkey, in all other it acts just like normal editbox (beware of -standart notifications that occur on text updates!) - -Subclass procedure uses GWL_USERDATA to store internal information. Do not -use it for own purposes. -} - MS_HOTKEY_SUBCLASS :PAnsiChar = 'CoreHotkeys/Subclass'; - MS_HOTKEY_UNSUBCLASS:PAnsiChar = 'CoreHotkeys/Unsubclass'; +function _Hotkey_Register(hk:PHOTKEYDESC; _hLang:int): int; stdcall; external AppDll name 'Hotkey_Register'; +function Hotkey_Unregister(hk:PAnsiChar): int; stdcall; external AppDll; { - This event is fired when hotkeys were changed (Mirver 9.0+ ?) - wParam = lParam = 0 + This event is fired when hotkeys were changed (Mirver 9.0+ ?) + wParam = lParam = 0 } +const ME_HOTKEYS_CHANGED:PAnsiChar = 'CoreHotkeys/Changed'; {$ENDIF} -- cgit v1.2.3