Не работает KeyPreview

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

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

Не работает KeyPreview

Сообщение ViruZ » 02.08.2007 14:32:29

Пишу приложение с несколькими формами, хочу сделать переход по полях при нажатии 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 » 03.08.2007 15:00:03

Обновил Lazarus/FPC до вчерашней сборки, но проблема так и не исчезла.
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина

Сообщение Attid » 03.08.2007 15:45:48

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

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

но это мое имхо =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение ViruZ » 03.08.2007 16:22:51

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

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

Сообщение ViruZ » 06.08.2007 10:14:53

Пришлось обрабатывать событие на контролах форм. По крайней мере, теперь работает так, как мне надо :mrgreen: хотя хотелось бы одним обработчиком как в Дельфях.
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина

Сообщение Attid » 06.08.2007 14:47:10

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

Сообщение ViruZ » 06.08.2007 15:25:52

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

Сообщение Attid » 06.08.2007 17:08:08

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

Сообщение ViruZ » 07.08.2007 09:07:40

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

Сообщение Attid » 07.08.2007 11:33:49

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

Сообщение Attid » 10.08.2007 21:52:48

Исправлено в версии => 0.9.23 (SVN)
по ссылке в мантис есть патч.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение ViruZ » 13.08.2007 09:14:51

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

БОЛЬШОЕ спасибо!
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru