Обработка нажатий клавиш вверх-вниз
Почти всегда требуется обработка нажатий клавиш "вверх-вниз" для смены фокуса ввода - мои "тетки-юзеры" боются мышей, да и сам я не любитель комбинаций мышь-клавиатура.
procedure TfmAbProps.edNameKeyDown(Sender: TObject; var Key: Word;
if (Key=vk_down) and
not (ssAlt in Shift) // здесь обработка для "выпадающих" окошек типа
TRxDBCalcEdit
SelectNext(Sender as TWinControl,true,true);
end else
if Key=vk_up then begin
Key:=0;
SelectNext(Sender as TWinControl,false,true);
end;
end;
Для элементов редактирования типа TDbEdit, TRxDBCalcEdit or TDBDateEdit назначим
OnKeyDown:=edNameKeyDown
Сложнее с типами вроде TRxDBLookupCombo. Наш прежний обработчик для них не подходит. Я пытался изменить характер TRxDBLookupCombo - но вовремя опомнился - есть же FormKeyDown;
procedure TfmAbProps.FormKeyDown(Sender: TObject; var Key: Word;
if (ActiveControl is TRxDBLookupCombo) then begin
if Key=vk_down then begin
if Key=vk_up then begin
end;
end;