![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать компонент для обр-ки горячих клавиш? [D2]
evgeg © (2002-09-09 12:09:00)Здраствуйте!
Нужно сделать компонент для обработки горячих клавиш. Т. е. кинул этот компонент на форму, задал гор. клавишу, обработчик. И этот обработчик должен вызываться при нажатии этой гор. клавиши при активной данной форме.
Вопрос в том, как реализовать этот компонент.
Субклассирование окна формы не работает, т. к. оконная процедура не получает сообщений WM_KEYDOWN, WM_KEYUP.
С уважением, Евгений.
evgeg (2002-09-09 13:53:00) [1]> Игорь Шевченко © (09.09.02 13:12)
> указываете в свойстве PopupMenu формы созданное меню.
Изменять свойства формы не годится.
> AL2002 © (09.09.02 13:18)
Спасибо.
Компоненту скачал. Она использует RegisterHotKey. В готовом
виде она не подходит, но является примером использования
RegisterHotKey.
Буду смотреть, можно ли использовать в моем случае RegisterHotKey. Мне надо, чтобы срабатывало только при активном приложении и только для компонента, лежащего на активной форме.
Т. к. в моем приложении довольно много форм, на которые нужно кидать компонент с HotKey-м, возникает опасение не будет ли чречмерного расхода памяти, процессорного времени и системных ресурсов. Приложение и так их потребляет достаточно много, особенно системных хандлов, т. ч. не запускается под Windows 98 в двух экземплярах.
AL2002 (2002-09-09 13:18:00) [2]www.delphi.ok.ru – там компонента есть какая-то.
А RegisterHotKey?
Игорь Шевченко (2002-09-09 13:12:00) [3]evgeg © (09.09.02 13:07)
Пардон, не заметил D2
Но TPopupMenu там точно есть. Создаете PopupMenu, присваиваете его Item"у требуемый Hotkey и указываете в свойстве PopupMenu формы созданное меню.
evgeg (2002-09-09 13:07:00) [4]> Игорь Шевченко © (09.09.02 13:06)
Работаю в Дельфи 2. Там нет TAction.
Игорь Шевченко (2002-09-09 13:06:00) [5]TAction ? :-)