Текущий архив: 2004.04.18;
Скачать: CL | DM;
ВнизПерехват и дальнейшая передача сообщений. Найти похожие ветки
← →
KA © (2004-02-13 14:41) [0]У меня 40 эдитов на форме. Мне нужно, чтобы при нажатии на ЭНТЕР они думали, что ТАБ. Оконным процедурам всех эдитов я присвоил свою процедуру. В ней я проверяю WM_KEYDOWN на VK_RETURN и если да, то keybd_event(VK_TAB,1,0,0), но при этом он пищит.
После проверки если не VK_RETURN, то нужно передать сообщение едиту, которому оно предназначалось, но я не знаю его хендл.
← →
clickmaker © (2004-02-13 14:57) [1]if (Key = VK_RETURN) then begin
keybd_event(VK_TAB, 0, 0, 0);
Key := 0;
end;
← →
clickmaker © (2004-02-13 14:58) [2]Это в обработчике OnKeyDown
← →
KA © (2004-02-13 15:17) [3]При этом орет beeper, а мне не надо.
← →
4i (2004-02-13 16:29) [4]а не проще ли в обработчике передавать фокус следующему контролу?
← →
KA © (2004-02-14 11:27) [5]А откуда я знаю, следующий контрол. Или как его узнать.
← →
nexxiss © (2004-02-14 18:08) [6]По TabOrder
← →
iva © (2004-02-14 18:16) [7]{ Это обработчик события OnKeyPress для ФОРМЫ! }
procedure TExampleForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
case key of
#13: Perform(WM_NEXTDLGCTL, 0, 0);
....
Страницы: 1 вся ветка
Текущий архив: 2004.04.18;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.038 c