Непонятки с KeyPress

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

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

Непонятки с KeyPress

Сообщение grigoreo » 23.11.2011 16:48:28

Пробую один и тот же код под Linux и Win , под Linux не идет, помогите где что не так,
берем на форму кидаем объект TEdit и вешаем обработчик OnKeyPress, что то типа этого

Код: Выделить всё
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
  Key:='*';
end;


или этого на обработкуOnUTF8KeyPress но эфект тот же

Код: Выделить всё
procedure TForm1.Edit1UTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char);
begin
  UTF8Key:='*';
end;


в этоге в Win все ок , за место введеных символов рисуется звездочка
а в Linux ничего подобного рисует те символы которые ввожу
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Непонятки с KeyPress

Сообщение kosteek » 23.11.2011 17:16:09

У Edit`а есть св-во PasswordChar.
kosteek
постоялец
 
Сообщения: 203
Зарегистрирован: 24.07.2008 14:57:09
Откуда: Украина, г.Славянск

Re: Непонятки с KeyPress

Сообщение grigoreo » 23.11.2011 18:02:25

kosteek писал(а):У Edit`а есть св-во PasswordChar.


согласен но мне это нужно не для пароля, или маскирования всех клавишь, это просто пример, мне нужно фильтр ввода построить, поэтому PasswordChar, MaskEdit мне не подходят, почему в Linux не работает этот вроде бы простой механизм , в Windows же все ок, а если я выполню Key:=#0 то и в Linux тоже норма, почему я не могу проходной переменной присвоить нужное мне значение...
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: Непонятки с KeyPress

Сообщение Alex333 » 24.11.2011 22:22:40

Странно, но у меня эта штука (Edit1KeyPress) работает и в Windows, и в Linux.
Ну, правда, не Федора, а Убунта-10 + старенький Lazarus 0.9.28.2. Никаких проблем.
Alex333
новенький
 
Сообщения: 32
Зарегистрирован: 21.08.2011 19:14:28

Re: Непонятки с KeyPress

Сообщение Widowmaker » 25.11.2011 15:05:42

Аналогично, всё работает, как задумано. Убунту 10.04 + Лазарь 0.9.30-0.
Код: Выделить всё
procedure TForm1.Edit1UTF8KeyPress ( Sender : TObject; var UTF8Key : TUTF8Char );
  begin
    Edit2.Text := Edit2.Text + UTF8Key; // текст в Edit2 для контроля русских букв
    UTF8Key := '*'; // текст в Edit1 - звёздочки
  end;
Аватара пользователя
Widowmaker
новенький
 
Сообщения: 37
Зарегистрирован: 27.04.2011 18:32:04

Re: Непонятки с KeyPress

Сообщение daesher » 25.11.2011 16:25:08

У меня тоже всё нормально. Gentoo, Lazarus из svn.
daesher
постоялец
 
Сообщения: 221
Зарегистрирован: 09.03.2010 22:17:14


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru
cron