Главная страница
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.065 c
3-1079696178
int21h
2004-03-19 14:36
2004.04.18
Права в Paradox


9-1066393003
Timer
2003-10-17 16:16
2004.04.18
Анимированный спрайт


1-1081024810
Arturchik
2004-04-04 00:40
2004.04.18
А как закрывая окно крестиком выполнить что-нибудь?


1-1080637822
vintik
2004-03-30 13:10
2004.04.18
Отличие Sender от Self


1-1080848872
mike_forewer
2004-04-01 23:47
2004.04.18
Сортировка в TStringGrid