Не работает KeyPreview

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Не работает KeyPreview

Сообщение ViruZ »

Пишу приложение с несколькими формами, хочу сделать переход по полях при нажатии 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.
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Сообщение ViruZ »

Обновил Lazarus/FPC до вчерашней сборки, но проблема так и не исчезла.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

у меня тоже не работает пиши багтрекер.

хотя я бы не на форме обрабатывал а но контролах
потому что на кнопке по энтер должно сработать нажатие.

но это мое имхо =)
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Сообщение ViruZ »

По моему замыслу, сначала по Энтеру обходит все поля ввода, а когда доходит до кнопки OK - срабатывает соответственный обработчик нажатия. А если кнопку необходимо пропустить, можно воспользоваться или мышкой, или Tab'ом.

Но это тоже мое ИМХО =)
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Сообщение ViruZ »

Пришлось обрабатывать событие на контролах форм. По крайней мере, теперь работает так, как мне надо :mrgreen: хотя хотелось бы одним обработчиком как в Дельфях.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

трекер написал ?
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Сообщение ViruZ »

Нет. А как правильно туда писать?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

пример так последи за ним, могут пример попросить.
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Сообщение ViruZ »

Пример попросили, как его туда выложить?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

туда же
регишься, и кнопка появляется залть файл.
если лениво можешь на мыло мне.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Исправлено в версии => 0.9.23 (SVN)
по ссылке в мантис есть патч.
ViruZ
постоялец
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина
Контактная информация:

Сообщение ViruZ »

Attid писал(а):Исправлено в версии => 0.9.23 (SVN)
по ссылке в мантис есть патч.

БОЛЬШОЕ спасибо!
Ответить