Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

отлов нажатия ТАБ - всё работает, но слышен 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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо