Конференция "FreePascal" » Не работает KeyPreview в Lazarus [Win32, linux]
 
  • ViruZ © (03.08.07 15:17) [0]
    Пишу приложение с несколькими формами, хочу сделать переход по полях при нажатии Enter.
    Написал обработчик:

    procedure TFormPidvOk.FormKeyPress(Sender: TObject; var Key: char);
    begin
    if Key=#13 then begin
      SelectNext(Sender as TWinControl,true,true);
      key := #0;
     end;
    if Key=#27 then Close;
    end;



    На некоторых формах работает, на некоторых = нет. Св-во
    KeyPreview=false



    во всех формах, если выставить в true - вообще не работает ни на одной форме. Лазарь из последних сборок (недели 2 назад скачивал), Винда XP SP2/Wine под Mandriva 2007. Задавал этот вопрос на фруме freepascal.ru, но никто так и не ответил.
  • ViruZ © (06.08.07 13:41) [1]
    Решил проблему "в лоб" - каждое поле ввода само обрабатывает нажатия клавиш. Хоть и код немного громоздкий, зато работает так, как мне необходимо.
  • Кофейник © (19.01.08 09:25) [2]
    У меня аналогичная задача. При открытии формы ввода, чтобы ввести данные в первое поле нужно сначала кликнуть по нему мышью. Порядок переход установила, но все равно данные в первое поле вводяться только после клика. Подскажите, что нужно сделать.
 
Конференция "FreePascal" » Не работает KeyPreview в Lazarus [Win32, linux]
Есть новые Нет новых   [134427   +38][b:0][p:0.001]