![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Спасайте, мастера! Реакция на событие Ctrl + PgUp [D5, Win2k]
Bond © (2002-09-26 17:53:00)Как сделать реакцию на событие Ctrl + PgUp. в компоненте HotKey такой комбинации клавиш нет. Уж как не бился, ничего не помогает. Может кто-то сталкивался с подобной проблемой - подскажите
Bond (2002-09-27 10:51:00) [1]to Юрий Зотов
Огромное спасибо!
Юрий Зотов (2002-09-27 10:41:00) [2]Переделанный пример их хелпа.
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) and
(Msg.wParam = VK_PRIOR) and
(GetKeyState(VK_CONTROL) < 0) then
begin
... // Нажато Ctrl+PgUp
Handled := True // Если надо, блокируем стандартную обработку
end;
end;
Bond (2002-09-27 10:29:00) [3]to Song
Чье событие onKeyDown?
Song (2002-09-27 10:23:00) [4]onKeyDown:
IF (Key=VK_PRIOR) and (ssCtrl in Shift) then ..
Bond (2002-09-27 10:18:00) [5]to Юрий Зотов
Заранее извиняюсь за превышающую все рамки приличия наглость, но не могли бы вы дать кусок кода? Я раньше никогда не работал с Message, а в хелпе информация довольно скудная
Заранее спасибо
Юрий Зотов (2002-09-27 09:54:00) [6]Не слать, а обрабатывать. Вам же реакция нужна? Вот и реагируйте.
А какой Message... Ну... догадайтесь с трех раз, какое сообщение система посылает программе при нажатии PgUp?
WM_KEYDOWN, конечно. А состояние Ctrl проверяйте в обработчике - GetKeyState.
Bond (2002-09-27 09:44:00) [7]to Юрий Зотов
А какой Message слать?
Юрий Зотов (2002-09-26 18:23:00) [8]Для контрола - OnKeyDown.
Глобально - Application.OnMessage.