![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отлов нажатия ТАБ - всё работает, но слышен beep.
Prohodil Mimo © (2005-05-30 16:21:00)Необходимо, что бы компонент (потомок 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 не возникает.
Что может быть?
Prohodil Mimo (2005-05-31 11:11:00) [1]Чапаев © (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 пищит до сих пор. Процедуры и события везде одинаковые.
Что ещё можно проверить?
Чапаев (2005-05-30 21:42:00) [2]Событие OnKeyDown есть? Обнуляй тамошний параметр Key.