Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
estra

[Android] TComboEdit, криво работают события KeyUp и KeyDown

Вопрос

Почему у TComboEdit события KeyUp и KeyDown срабатывают только при вводе числовых значений ('0'..'9') и не срабатывает при вводе других символов?

 

Проверить очень просто

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
  FMX.Edit;

type
  TForm1 = class(TForm)
    ComboEdit1: TComboEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
      Shift: TShiftState);
    procedure ComboEdit1KeyDown(Sender: TObject; var Key: Word;
      var KeyChar: Char; Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.ComboEdit1KeyDown(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
   Label2.Text := 'KeyChar = ' + KeyChar + #13 +
                  'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 +
                  'Key = ' + IntToStr( Key );
end;

procedure TForm1.ComboEdit1KeyUp(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
   Label1.Text := 'KeyChar = ' + KeyChar + #13 +
                  'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 +
                  'Key = ' + IntToStr( Key );
end;

end.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Похожий контент

    • От Alex Bozhko
      Вот такой шикарный баг в приложении.
       
      -Start the application
      -While the application is opened (the start icon is displayed), press power button (or close Phone Case)
      -Press power button (or open Phone Case)
      -Unbloch the screen

      Black screen witn or without start icon is displayed, the application is not opened. It's possible to reopen the application via application manager only
       
      Вкратце по-русски. Если при запуске приложения в момент, когда на экран выведена заставка, нажать кнопку power, приложение виснет.
       
      Чуть мозги себе не сломал, пока отловил причину.
       
      Возникает, если при создании главной формы приложения динамически заполнять TComboEdit. Для TComboBox - не воспроизводится.
      Актуально для Seattle с апдейтом.
       
      Код заполнения примерно такой:
      procedure TfMain.FormComboEdit; var SL: TStrings; i: integer; begin SL:= TStringList.Create; try for i := 0 to 10 do begin SL.Add('String '+IntToStr(i)); end; ComboEdit1.BeginUpdate; ComboEdit1.Clear; ComboEdit1.Items.AddStrings(SL); ComboEdit1.EndUpdate; finally SL.Free; end; end; procedure TfMain.FormCreate(Sender: TObject); begin FormComboEdit; end; Или другой, пробовал несколько вариантов заполнения.
       
      Приложение прилагаю.
      Blank.zip
    • От Liberator
      Доброго времени суток!
       
      Не знаю, глюк это или так задумано, но ЕСЛИ:
       
      1) Заполнить Items чем-нибудь.
      2) Запустить под Android
      3) Ввести что-либо в строке (раскладка клавиатуры неважна)
      4) Открыть список (кнопкой справа строки)
      5) Закрыть его по кнопке ОТМЕНА
      6) Продолжить ввод, введя ОДИН какой-либо символ
       
      Получаем: строка (введенная раньше) продублировалась. То есть стала в два раза длиннее.
       
      Мне это вынесло мозг, если честно (делаю выбор города с динамическим формированием списка), и на это явление наткнулся при тестировании. Сначала грешил на себя, но сделал чистое приложение, заполнив в дизайне Items - результат тот же самый.
       
      Если кто уже боролся с этим - просьба поделиться опытом.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...