Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

отлов нажатия ТАБ - всё работает, но слышен beep.   Найти похожие ветки 

 
Prohodil Mimo ©   (2005-05-30 16:21) [0]

Необходимо, что бы компонент (потомок TMaskEdit) отлавливал нажатия на VK_TAB.
Попробовал такой вариант :

Procedure TADQEdit.WMGetDlgCode(Var Message: TWMGetDlgCode);
Begin
Inherited;
  Message.Result := Message.Result or DLGC_WANTTAB;
End;


всё работает, но при нажатии на таб слышен beep.

Пробовал и такой вариант :

Procedure TADQEdit.CMWantSpecialKey(Var Msg:TCMWantSpecialKey);
Begin
Inherited;
If Msg.CharCode = VK_TAB then
  Msg.Result:=1;
End;

то же самое, хотя на компоненте, потомке TCustomControl - beep не возникает.

Что может быть?


 
Чапаев ©   (2005-05-30 21:42) [1]

Событие OnKeyDown есть? Обнуляй тамошний параметр Key.


 
Prohodil Mimo ©   (2005-05-31 11:11) [2]

Чапаев ©   (30.05.05 21:42) [1]
Событие OnKeyDown есть? Обнуляй тамошний параметр Key


Вот как делаю :

Procedure TADComboBox.KeyDown(var Key: Word; Shift: TShiftState);
Begin
If ADSGrid <> Nil then
Begin
  If Key=VK_TAB then
  Begin
     ADSGrid.SetFocus;
     ADSGrid.KeyDown(Key,Shift);
     Key:=0;
  End;
End;
If Key>0 then
  inherited KeyDown(Key,Shift);
End;


Сегодня перекомпилил проект, потомок TMaskEdit и TCheckBox пикать перестали, потомок TComboBox пищит до сих пор. Процедуры и события везде одинаковые.

Что ещё можно проверить?



Страницы: 1 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
1-1132904035
psa247
2005-11-25 10:33
2005.12.18
Application.Hint


14-1132687718
Якут-замерз
2005-11-22 22:28
2005.12.18
Посоветуйте масляный радиатор


1-1132785632
BigProg
2005-11-24 01:40
2005.12.18
Как уничтожить класс, который ожидает реакцию пользователя?


4-1128592123
Windows1
2005-10-06 13:48
2005.12.18
фокус на кнопке+нажать ее Enter^ом


2-1133754766
Veter
2005-12-05 06:52
2005.12.18
Как можно получить текст с поля Edit другой программы