Главная страница
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.022 c
1-1080505135
Diver
2004-03-29 00:18
2004.04.18
ComboBox


14-1079977864
$tranger
2004-03-22 20:51
2004.04.18
С чем едят АССЕМБЛЕР?


3-1079681670
Anka
2004-03-19 10:34
2004.04.18
Сетевая версия БД


1-1080892540
Серж
2004-04-02 11:55
2004.04.18
Макроподстановка кода(!) в Delphi?


1-1080546501
lehich
2004-03-29 11:48
2004.04.18
ListBox1.Items.Text и разделители