WinHotKeyCtrl и Delphi
От: xShiFT Россия  
Дата: 19.10.05 08:14
Оценка:
http://rsdn.ru/article/controls/WinHotkeyCtrl.xml
Автор(ы): Александр Авдонин
Дата: 05.08.2004
WinHotkeyCtrl – элемент управления, предназначенный для задания и управления «горячими клавишами» (hotkey`s). В отличие от стандартного элемента управления Windows (HotKeyCtrl), WinHotkeyCtrl обладает рядом преимуществ:

[+] разрешены комбинации с клавишей-модификатором Win;
[+] поддержка мултимедийных клавиш (Microsoft-совместимых);
[+] перегрузка практически любой системной комбинации клавиш, кроме Ctrl+Alt+Del;
[+] расширенное контекстное меню.

WinHotkeyCtrl строится на базе стандартного элемента управления EditCtrl методом сабклассирования (subclassing), что обеспечивает удобство и легкость его использования с шаблонами окон диалогов.
С помощью директив препроцессора в одном исходном файле реализованы 2 версии WinHotkeyCtrl: для Windows 98/NT и для Windows 2000 (и выше).

Случайно никто не переделывал под Delphi версию для WinAPI?

Я попытался, но видимо неполучилось.
Вылетает с ошибкой 'runtime error 216'.

вот и хотел узнать может у когото получилось.
Re: WinHotKeyCtrl и Delphi
От: xShiFT Россия  
Дата: 20.10.05 02:34
Оценка:
почему возникает ошибка Rantime error 216??

она возникает после этих строчек:
 SetWindowLong( hwndWhc, GWL_WNDPROC, Longint( @_WinHotkeyCtrlProc));

и
 SetWindowLong( hwndWhc, GWL_USERDATA, dwWhcData);
Re[2]: WinHotKeyCtrl и Delphi
От: xShiFT Россия  
Дата: 20.10.05 02:59
Оценка:
 SetWindowLong( hwndWhc, GWL_USERDATA, dwWhcData);

Ошибся. После этой не ввозникает.

а по поводу GWL_WNDPROC из MSDN.

GWL_WNDPROC
Sets a new address for the window procedure.
Windows NT/2000/XP: You cannot change this attribute if the window does not belong to the same process as the calling thread.


но у меня ведь в том же процессе, в том же треде.

Как можно решить эту проблему????

22.10.05 01:02: восстановлено — Кодт
Re: WinHotKeyCtrl и Delphi
От: Кодт Россия  
Дата: 21.10.05 21:03
Оценка:
Если ты проблему решил, то напиши об успехе. А не разбрасывай бомбочки в хаотическом порядке.
Перекуём баги на фичи!
Re[3]: WinHotKeyCtrl и Delphi
От: alive Россия  
Дата: 22.10.05 17:30
Оценка:
Здравствуйте, xShiFT, Вы писали:

SFT>Как можно решить эту проблему????


А код полностью можно посмотреть?
...<< RSDN@Home 1.2.0 alpha rev. 618>>
...Foobar {Пикник — [Чужой #05] 05 — А может быть и не было меня}
Keep yourself alive
Re[2]: WinHotKeyCtrl и Delphi
От: xShiFT Россия  
Дата: 24.10.05 03:50
Оценка:
Здравствуйте, Кодт, Вы писали:
К>Если ты проблему решил, то напиши об успехе. А не разбрасывай бомбочки в хаотическом порядке.
Простите. Я просто разбирался с форумом.
Эту проблему решил.

Осталось только разобратся с тем что при отпускании Модификаторов( Win, Shift, Ctrl, Alt ),
они убираются и из Контрола
Re[4]: WinHotKeyCtrl и Delphi
От: xShiFT Россия  
Дата: 24.10.05 04:00
Оценка:
Здравствуйте, alive, Вы писали:

A>А код полностью можно посмотреть?


http://rsdn.ru/File/46797/WinHotKeyCtrl_For_Delphi.rar
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.