Форум: "Основная";
Текущий архив: 2002.05.09;
Скачать: [xml.tar.bz2];
ВнизОбработка нажатия клавиш Найти похожие ветки
← →
vlv (2002-04-24 14:37) [0]Какое сообщение надо обрабатывать для перехвата клавиши TAB?
← →
Song (2002-04-24 14:40) [1]onKeyPress, onKeyDown, onKeyUp
← →
vlv (2002-04-24 14:46) [2]До этих событий TAB не доходит.
Есть какое-то сообщение с префиксом то ли CM_ , то ли CN_
Может, кто напомнит?
← →
arhelon (2002-04-24 15:00) [3]на onKeyUp енто работает.
← →
Song (2002-04-24 15:04) [4]
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF Key=VK_TAB then ShowMessage("Всё доходит!!!");
end;
Насчёт остальных событий.. извиняюсь, не прочитал вопрос до конца.
← →
vlv (2002-04-24 15:12) [5]Все эти события не позволяют изменять значения key.
Например, как заменить VK_TAB на VK_DOWN?
← →
Sava (2002-04-24 15:22) [6]
> Например, как заменить VK_TAB на VK_DOWN?
У формыKeyPreview:=True;
а потом:
FOrmKEyPress
begin
if key= #13 then
begin
key:=0;
perform(wm_nextdlgctl,0,0);
end;
end;
← →
Song (2002-04-24 15:23) [7]Изменять-то они позволяют (не зря же там словечко Var перед Key стоит), другой вопрос, что никакого проку Вам нет от этого изменения, потому что фокус уже перескочил.
← →
Игорь Шевченко (2002-04-24 15:33) [8]День добрый,
Сообщение называется CM_DIALOGKEY, происходит от обработки WM_KEYDOWN
С уважением,
← →
Song (2002-04-24 15:41) [9]Всё-таки Вы заставили меня загрузить Дельфи :))
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;
← →
vlv (2002-04-24 15:54) [10]Благодарю, Song, Игорь Шевченко.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c