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

Скроллинг множества TEdit расположенных на TScrollBox

Вопрос

Здравствуйте уважаемые,

есть форма с множеством TEdit, при этом они не помещаются на один экран и помещена на TScrollBox.

При скороллинге если скроллить нажимая на подложку (т.е. сам TScrollBox) все работает идеально, если же нажимать на сам TEdit и таким образом скроллить, то выезжает клавиатура, что вобщемто неудобно.

Вопрос: как настроить приложение/форму/ТСкроллБокс так, чтобы при зажатии и движении пальца вверх/вниз на ТЕдите клавиатура не выезжала?

На нативных приложениях описанного выше поведения я не замечал.

 

Заранее спасибо!

 

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


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

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

  • 0

Моё ИМХО,  придётся решать алгоритмически. Если изначально у всех Edit.HitTest :=False; то появления клавиатуры не будет и перемещение будет согласно жесту. А вот как как вводить Edit в режим доступа и редактирования, тут надо пробовать. Если в лоб, то двойной клик(или Tap) по Edit, по сути будет клик по scrollbox. Получение координат и определение, какой edit находится на клике.  Соответственно Edit.HitTest :=True ; ввод с клавиатуры,  уводить фокус с edit, Edit.HitTest := False; 

Изменено пользователем Alexander

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


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

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

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

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

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

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

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

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

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

Авторизация  

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

    • От Martifan
      Здравствуйте
      У меня есть один TMemo в форме. Некоторый текст написан пользователем в нем. Есть кнопка стереть. Когда эта кнопка нажата, введенные данные обрабатываются и текст очищается с использованием следующего кода:
      EditBox.Lines.Clear; EditBox.Text: = EmptyStr; Когда приложение работает на устройстве, оно заметно удаляет текст после нажатия этой кнопки стереть. Однако, когда вы начинаете печатать снова, вы печатаете поверх старого текста. 
      Например: 
      1- Исходный текст набран "123". 
      2- Нажата кнопка стереть. 
      3- Наблюдается, что редактирование содержимого визуально очищается. Текст не отображается. 
      4- Если вы наберете «456» в этом пустом редактировании, и после завершения ввода вы получите «123456» в самом редактировании. 
      Точно так же, когда есть проблема с обработкой, приложение выбирает введенный текст. Если вы начнете печатать, новый текст добавляется, а не заменяется.
      как можно очистить память клавиатуры после удаление текста?
      заранее всем спасибо!
    • От Barbanel
      Всем привет!
      Недавно столкнулись с особенностью двух разных смартфонов.
      При вводе в TEdit обычного емейл-адреса срабатывает автозамена. После этого, ввод текста ломается.
      Т.е. пользователь ставит курсор на последний символ слова, нажимает внопку "стереть", каретка перескакивает на второй символ в тексте, и стирает именно второй символ. Конец строки таким образом вообще невозможно удалить.
      Есть видео с багом. Утверждается что проблема воспроизводится на более древнем устройстве.
      Вопрос: кто-то сталкивался с таким, как лечили?
      Собсно предполагаемые решения
      1) отключить автозамену для конкретного поля ввода (но я не уверен что это возможно),
      2) дебажить и исправлять TEdit (шоб меня покрасили!!!)
      Всем заранее сенкс!
      TEdit Bug.mp4
    • От MrAnderson
      Добрый вечер.
      Не подскажите в чем может проблема быть.
      Не отображает содержимое на Андройде при повороте на 180 градусов т.е.(RotationAngle:=180).TScrollBox или TPresentedScrollBox и TVertScollBox.
      Под Win все Ок.
      Delphi XE 10.2 Update 3
    • От Bohdan
      Всем Привет!

      Платформа ios Delphi 10.2.2, хочу при нажатии на label показывать edit (для редактирования label.) Столкнулся с проблемой:
       Как отследить Tap  за пределами Edit чтобы его скрыть, не могу понять как это сделать.
    • От Martifan
      Здравствуйте!
      возможно сделать такой в FireMonkay?
      https://i.stack.imgur.com/ZhdWE.gif
      https://i.stack.imgur.com/wPiJy.gif
      https://i.stack.imgur.com/mZJn8.gif
       
      если да то напишите как сделать?
      может у кого готовы пример есть поделитесь пожалуйста
      Заранее благодарю
    • От zekelive
      Добрый день, друзья. Начал заниматься вопросом описанным в шапке и столкнулся со множеством непонятных для меня проблем. Как примерно должно выглядеть на Рис. ниже. Знаю, что сам список барабан выполнен в TlistBox. Есть хорошая ссылка на блог Ярослава тут. Пошерстил файлы в FMX, и не нашел ключа для своего дела. Может кто занимался этим? Я изначально брал TScrollBox, кидал на него Tlayout и в него TLabel. Но думаю, видимо не то совсем.

    • От Макс Войтенко
      var Keyboard: IFMXVirtualKeyboardService; begin if TPlatformServices.Current.SupportsPlatformService( IFMXVirtualKeyboardService, IInterface( Keyboard ) ) then if TVirtualKeyboardState.Visible in Keyboard.GetVirtualKeyBoardState then ShowMessage( 'клавиатура открыта' ) else ShowMessage( 'клавиатура скрыта' ); end; ТАК Я на шел для делфи. Но мне нужно для C++
    • От Sashar333
      Delphi 10,1 berlin
      Здравствуйте!
      Подскажите как отключить на android в TEdit появляющиеся кнопки ВСТАВКА КОПИРОВАТЬ и т.д.
      или как запретить вставлять из буфера в приложении?
      Спасибо!
       
    • От Ufomaster
      При использовании на форме TMS FMX WebGMaps и Edit ов, возникает зависание приложения после повторного входа в эдит и удаления там текста. 
    • От Вадим Смоленский
      Компонент TScrollBox в VCL имеет свойства VertScrollBar и HorzScrollBar, каждое из которых, в свою очередь, снабжено свойством Increment, определяющим количество пикселей, перемещаемых при нажатии на кнопку прокрутки. В FMX я ничего похожего найти не смог. Есть ли способ поменять принятые по умолчанию установки?
  • Последние посетители   0 пользователей онлайн

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

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