The Unofficial Newsletter of Delphi Users - by Robert Vivrette

Клавиша  "Enter" действует аналогично клавише  "Tab"

By Laurian Mihalca - lmihalca@fx.ro

Перевод Руденко Е.В.   janer@newmail.ru    май 2001 года

Я нашел легкий путь заставить клавишу  Enter действовать также как  Tab. В предыдущих выпусках такого решения я не нашел, хотя может быть я и ошибаюсь.

 

procedure Tform.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  Scancode:integer;
begin
  if key=vk_return then
    begin
      ScanCode:=Lo(MapVirtualKey(vk_tab,0));
      keybd_event(vk_tab, ScanCode, 0,0);
    end;
end;
До этого я использовал ..
procedure Tform.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    if not (ActiveControl is TDBgrid) then
      begin
        Key:=#0;
        Perform(WM_NEXTDLGCTL,0,0)
      end;
end;
Старая версия работала прекрасно, но только вперед; Shift +Enter не было эквивалентно  Shift+Tab;

И еще ... Свойство Keypreview для формы должно быть установлено в  True .

Возврат в Tips&Tricks