Перейти к содержанию
Fire Monkey от А до Я
  • 0

TMemo скролится вниз не до конца и отрезает буквы.


xenon54

Вопрос

При переходе на новую строку в TMemo, если это строка последняя в поле видимости, экран скролится на строчку вниз. Проблема в том что скролится на несколько пикселей меньше чем надо. Почти все буквы нормально вписываются в область видимости, а вот такие буквы как "у" у которых крюк вниз уходит Memo обрезает.

WHYEXzutjp_2237820_16709292.jpg

Вот скрин с винды, в IOS тоже самое.

Пробовал костыли с правкой Viewportposition на событии onchangetracking, но в итоге ничего хорошего не получилось. Как быть?

Изменено пользователем xenon54
Ссылка на комментарий

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

  • 0

По сути, получается, что единственный многострочный контрол для ввода текста в ФМ, коряво скролится, а отсюда получается, что никакого подобия чата запилить не получится? Правильно я все понял? Или есть какая-то альтернатива, или способ победить данную траблу.

P.S.: Не ожидал такого бага от единственного элемента многострочного ввода текста в ФМ :(

Ссылка на комментарий
  • 0
  • Администраторы

Я завел багу во внутренний треккер. Можете, конечно, ее продублировать в quality.embarcadero.com

Ссылка на комментарий
  • 0

А мы как-нибудь узнаем о том что появился какой-то временный фикс на внутреннем трекере?

Или я слишком наивен, думая что это быстро пофиксят :)

P.S.: в XE8 та же шляпа :( Ну, по крайней мере в том, который доступен для скачивания, но "официально" еще не выпущен.

 

 

 

https://quality.embarcadero.com/browse/AP-139

Изменено пользователем xenon54
Ссылка на комментарий
  • 0

Ну баг, как мне кажется, относится к разряду близкому к критическому, думаю должны как-то отреагировать. Вопрос сколько это займет времени. Хотя решение мне нужно здесь и сейчас поэтому пытаюсь сам решить эту проблему, не дожидаясь выпуска XE9 :(

Ссылка на комментарий
  • 0

При переходе на новую строку в TMemo, если это строка последняя в поле видимости, экран скролится на строчку вниз. Проблема в том что скролится на несколько пикселей меньше чем надо. Почти все буквы нормально вписываются в область видимости, а вот такие буквы как "у" у которых крюк вниз уходит Memo обрезает.

WHYEXzutjp_2237820_16709292.jpg

Вот скрин с винды, в IOS тоже самое.

Пробовал костыли с правкой Viewportposition на событии onchangetracking, но в итоге ничего хорошего не получилось. Как быть?

так а если просто доп.строку добавить в конец текста!

Ссылка на комментарий
  • 0

Такой вариант не подходит. Мне нужно чтобы нижняя строка была четко снизу при печати текста.

1. добавить пустую строку снизу.

2. поджать динамически rectable снизу на несколько пикселей цветом фона 

Ссылка на комментарий
  • 0

Мурашки по коже от таких костылей  :D

На самом деле нужно найти где неправильно происходит расчет автоскрола и поправить его. Только вот пока не удается толково это сделать, т.к. видимо проблема даже не в TMemo, а в TCustomScrollBox, но это пока догадка...

Изменено пользователем xenon54
Ссылка на комментарий
  • 0

В общем если кто-то будет искать, то вот такой позорный костыль капельку улучшает ситуацию:

  if ((NewViewportPosition.Y+MemoInheritor.Height)- round(MemoInheritor.GetContentBounds.Height)) = 2 then
    MemoInheritor.ViewportPosition := TPointF.Create(MemoInheritor.ViewportPosition.X, MemoInheritor.ViewportPosition.Y+2);

Этот код в событии "OnViewportPositionChange", MemoInheritor - наследник TMemo.

Ссылка на комментарий

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

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

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

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

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