• 0
Авторизация  
Сергей Сергеев

Бегущая строка

Вопросы

Привет! Как сделать "бегущую строку" в TLabel  или TEdit - длинный текст, если не влазит в отведенное место по ширине, то авто скролл горизонтальный..

пробовал через добавление TFloatAnimation в CustomStyle к свойству Text, изменяя position - ничего не происходит, пробовал Font.Size  менять ( для проверки - а вообще оно работает?) тоже ничего не происходило.

Запускаю в Win, а нужно  вообще для Androiod и Ios.

 

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


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

2 ответа на этот вопрос

  • 0

Сделал так..

TEdit положил внутри THorzScrollBox. Ширина TEdit больше чем Scroll, что не влезло справа, обрезалось. Спрятал ScrollBar, чтобы не портил вид.

Положил на форму TrackBar c Value от 0 до 150.  Для значения Value добавил TFloatAnimaton с изменением Value от 0-150 по циклу и с реверсом.

На событие OnChangeValue TrackBar повесил обработчик в котором, в зависимости от значения Track меняю у HorzscrollBox позицию ползунка ( .ScrollBy (dX,dY) - еле нашел!) 

Результат на видео https://youtu.be/crtw-qQmjFc. Проект вечером прикреплю - может кому понадобится.

"мозг" тут :
 

var
  Form1: TForm1;
  currPos : integer=0;

implementation

{$R *.fmx}
{$R *.LgXhdpiPh.fmx ANDROID}
{$R *.Windows.fmx MSWINDOWS}


procedure TForm1.TrackBar1Change(Sender: TObject);
var
cnt : integer;
cp :integer ;
begin


      lbT.Text := TrackBar1.Value.ToString;
      cp :=    Round(TrackBar1.Value) ;
      cnt := currPos - cp;
      currPos := cp;

       HorzScrollBox1.ScrollBy(cnt,0) ;

end;

 

Test.rar

Изменено пользователем Сергей Сергеев
прикрепил исходники тест

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

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

    • От Денис Демин
      Здравствуйте, есть такая задача:
      1) Необходимо вставить карту от Яндекса на форму.
      2) Необходимо вставить информацию текстовую (информация о доставке или оплате), это можно также вставить HTML кодом, а лучше просто отформатированным содержанием. 
      Заранее спасибо всем за ответы.
    • От Вячеслав Холод
      Проблема такая, создаю динамически Label и нужно выровнять текст внутри по центру самой метки. 
      Пробовал: 
          with LabelG do
          begin
            StyledSettings := [];
            LabelG.TextSettings.Font.Family:='Century Gothic';
            LabelG.TextSettings.Font.Size:=14;
            LabelG.TextSettings.FontColor:=TAlphaColorRec.Aliceblue;
       -->  LabelG.TextSettings.HorzAlign.taCenter; (И :=taCenter и что только не пробовал)
          end;
       
      Помогите пожалуйста.
    • От Mazzay
      Сделал выбор числа месяца скроллингом (как это реализовано на устройствах Apple). Для наглядности вот рабочий пример: https://youtu.be/F73fCMSlL7I.
      Но для красоты картины не хватает вывода заворачивающихся чисел в перспективе:

      Как сие реализовать?
    • От Alex7wrt
      Всем здравствуйте.
      Интересует есть ли в FM опция для автоматического изменения размера шрифта в TText таким образом, чтобы текст заполнил всю площадь контрола. Включая и случаи отображения текста в несколько строк. 
      Просто есть контрол стандартного размера, и текст, отображаемый в нем, может быть разным, в том числе и длинным. Нужно сделать, чтобы его шрифт уменьшался для полной вместимости текста. 
    • От serg557
      День добрый!
      Ситуация такова:
      1. Загружаю вебстраничку в AnsiString - тут все отлично работает как на винде так и под андроид;
      2. Пытаюсь ее отпарсить с использованием стандартных методов AnsiString- .Pos(), .SubString(), .Delete(), - на винде все работает - на андроиде -нет.
       Вопрос в следующем - чем работать на с текстом - чтобы одинаково работало под андроидом?
       
    • От Schekhovtsov
      Чтобы если был выбран английский, приложение включало пресет английского. Собственно, нужен какой-то способ определения активного языка.
    • От kidrock
      Всем привет. Вывожу из базы в Tmemo текст из базы данных. Всё хорошо, но на мобилке обнаружилось, что при повороте экрана(вроде бы это называется смена ориентации) текст как бы расстягивается. Возможно ли это как то исправить?
       
      Вот так текст выглядит в нормальном виде:

       
      А вот в повернутом виде:

       
    • От vivien
      Здравствуйте уважаемые форумчане!
       
      Есть такой вопрос, в Grid есть колонка TCheckColumn, через событие OnGetValue, можно установить состояние чекбокса, а можно-ли как-то добавить текст рядом с чекбоксом?
      Ранее, в XE2, у TColumn был метод CellControlByRow, и работала такая конструкция:
      var tc : TTextCell; begin  // ... tc := columns[col].CellControlByRow(row) as TTextCell;   if assigned(tc) then tc.Text := 'текст'; end; Есть ли какая-нибудь альтернатива для XE4?
  • Последние посетители   0 пользователей онлайн

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