Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработка нажатия клавиш


vlv ©   (2002-04-24 14:37:00) 

Какое сообщение надо обрабатывать для перехвата клавиши TAB?


vlv   (2002-04-24 15:54:00) [1]

Благодарю, Song, Игорь Шевченко.


Song   (2002-04-24 15:41:00) [2]

Всё-таки Вы заставили меня загрузить Дельфи :))

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
With Msg Do
IF (Message=WM_KEYDOWN) and (wParam=VK_TAB) then wParam:=VK_DOWN;
inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:=AppMessage;
end;


Игорь Шевченко   (2002-04-24 15:33:00) [3]

День добрый,

Сообщение называется CM_DIALOGKEY, происходит от обработки WM_KEYDOWN

С уважением,


Song   (2002-04-24 15:23:00) [4]

Изменять-то они позволяют (не зря же там словечко Var перед Key стоит), другой вопрос, что никакого проку Вам нет от этого изменения, потому что фокус уже перескочил.


Sava   (2002-04-24 15:22:00) [5]


> Например, как заменить VK_TAB на VK_DOWN?

У формы KeyPreview:=True;
а потом:

FOrmKEyPress
begin
if key= #13 then
begin
key:=0;
perform(wm_nextdlgctl,0,0);
end;
end;


vlv   (2002-04-24 15:12:00) [6]

Все эти события не позволяют изменять значения key.
Например, как заменить VK_TAB на VK_DOWN?


Song   (2002-04-24 15:04:00) [7]


procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF Key=VK_TAB then ShowMessage("Всё доходит!!!");
end;


Насчёт остальных событий.. извиняюсь, не прочитал вопрос до конца.


arhelon   (2002-04-24 15:00:00) [8]

на onKeyUp енто работает.


vlv   (2002-04-24 14:46:00) [9]

До этих событий TAB не доходит.
Есть какое-то сообщение с префиксом то ли CM_ , то ли CN_
Может, кто напомнит?


Song   (2002-04-24 14:40:00) [10]

onKeyPress, onKeyDown, onKeyUp


Наверх

Титульная страница Поиск, карта сайта Написать письмо