Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
6-1077024626
Leech
2004-02-17 16:30
2004.04.18
Indy IdFTP, WriteFile()


14-1080301750
Igorek
2004-03-26 14:49
2004.04.18
Доступ к системному Temp каталогу с программы на CD


4-1076593621
arbiter
2004-02-12 16:47
2004.04.18
Как определить тип окна?


7-1076221326
korvin
2004-02-08 09:22
2004.04.18
Электронные весы


3-1079953049
Yermek
2004-03-22 13:57
2004.04.18
Чтение и запис чисел и текста в BLOB поля




   Наверх