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

Вниз

Не обрабатываются VK_Up, Vk_Down и т.п.   Найти похожие ветки 

 
TransparentGhost   (2004-04-01 12:30) [0]

Компонент
TADSheet = class(TCustomControl)

Procedure KeyDown(Var Key:Word;Shift:TShiftState); Override;
не реагирует на нажатия стрелок и таб, и при етом теряет фокус.
Что нужно сделать, чтобы определять нажатия етих клавиш и не теряля фокус?
С буквенными кнопками всё нормально.


 
TUser ©   (2004-04-01 12:34) [1]

А что проц-ра делать-то должна. Для создания свойства используется FOnKeyDown:TType, где TType = procedure (Var Key:Word;Shift:TShiftState) of object.


 
MBo ©   (2004-04-01 12:47) [2]

Если не ошибаюсь, обработчик CM_DialogKey попробуй


 
TransparentGhost   (2004-04-01 12:51) [3]

Процедура внутри компонента. При нажатии стрелок изменяются некоторые переменные, в зависимости от которых идёт прорисовка Канвы.
Типа того
Procedure TADSheet.KeyDown(Var Key:Word;Shift:TShiftState);
Begin
 Inherited KeyDown(Key,Shift);
    Case Key of
       VK_UP: Dec(Y);
       VK_DOWN: Inc(Y);
    End;
End;


 
TransparentGhost   (2004-04-01 16:10) [4]

CM_DialogKey и KeyDown - реагирует на всё, кроме стрелок.


 
TransparentGhost   (2004-04-01 16:15) [5]

Ничего не надо указать в CreateParams или ещё где?


 
MBo ©   (2004-04-01 16:18) [6]

Еще
CM_WANTSPECIALKEY
WM_GETDLGCODE


 
MBo ©   (2004-04-01 16:19) [7]

Точнее, обработчик CM_WANTSPECIALKEY нужен

procedure TMyComponent.CMWantSpecialKey(var Message: TCMWantSpecialKey);
begin
 inherited;
 if Message.CharCode = VK_LEFT then
   Message.Result := 1;
end;


 
TransparentGhost   (2004-04-01 16:31) [8]

Спасибо, заработало!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.046 c
3-1079988659
Алексей
2004-03-22 23:50
2004.04.18
БД "Склад"


1-1081064638
Tack83
2004-04-04 11:43
2004.04.18
Управление цветом колонок TListView (vsReport)


8-1073494478
Evgeniy_K
2004-01-07 19:54
2004.04.18
Убить картинку в TImage


8-1073010809
Saimon
2004-01-02 05:33
2004.04.18
Прозрачность формы в Win9x.


3-1080117156
Шурик Ш
2004-03-24 11:32
2004.04.18
Не получается создать числовое поле заданной точности!