Перейти к содержанию

Hevard

Пользователи
  • Активность

    15
  • Зарегистрирован

  • Посещение

Информация о Hevard

  • Звание
    Пользователь
  • День рождения 17.04.1976

Информация

  • Пол
    Мужчина
  • Город
    на Неве
  1. Читаю, диву даюсь! Что мешало сразу сделать корректным расчёт высоты. Хитрости, уловки, танцы с бубном... Я использовал : function TMainForm.DoMeasureText(Canvas: TCanvas; AText: string; Width: single): single; var R: TRectF; begin R := RectF(0, 0, Width-9, 10000); // Width-54 = font.size x 3 Canvas.MeasureText(R, AText, True, [], TTextAlign.Leading, TTextAlign.Leading); Result := R.Bottom; end; Но так и не понял всей премудрости. При шрифте 18, в одну строчку , на один RadioButton она выдаёт 43, 23 , а на какой-то 46,47. Где-то считает одну строчку за две.
  2. ну, меня Mouse смутил слегка... но, чем чёрт не шутит. Мало ли, так положено!
  3. даже так попробовал: if VertScrollBox2.ContainsObject(ICtrl.GetObject) then мёртво!
  4. Тоже никак. Оно вообще как-то через одно место. И так, и эдак. А ошибку я бы и не нашел... Вообще впервые этот FMX грызу. Выбираю 1й пункт, 3-м скролю и он же выделяется...
  5. Так вроде в таком порядке они и используются. RB1 - 2 поле БД (1й ответ), в RB2 - 3 поле БД (2й ответ) и т.д. Они заполняются корректно в соответствии, а шатаются по Скроллу, как пьяные матросы. И порядок вроде бы логичный: они же все объявлены как Visible = True. Есть поле 2 - нарисовали, есть поле 3 - нарисовали ... есть поле 7 - нарисовали. Я понимаю, если, к примеру нет поля 4, то 3-го Button-a нет и на его место встаёт 4-й Button.
  6. Если честно, я не до конца понял, что к чему. И меня мучает вопрос - если операции линейны, почему смещается порядок? Спросить постеснялся...
  7. Доброго дня! Не пойму, в чём накосячил, ибо Делфил лет 15-20 назад, а тут добрался до FMX... В приложении на Скролле лежат 8 РадиоКнопок с Align = Top; Visible = False; Код заполнения линейно, из БД. Если поле БД не пустое - видим, если пустое - не видим. При работе приложения, они располагаются "по своему усмотрению".
  8. Доброго дня! Если честно, я сразу предполагал скроллинг, ибо на PC задачу реализовал ещё в конце прошлого года. Пока на больничном, решил реализовать её для мобильной платформы, благо логика вся отлажена. Естественно, не сталкиваясь ранее с FMX, не ожидал столько нерешённых проблем непосредственно с компонентами. Читая ветки, вижу, что множество вопросов возникали лет 5 назад, а воз, как говорится и ныне там. И многое актуально для дня сегодняшнего.
  9. Согласитесь, что это не корректное решение? У меня на ScrollBox некуда пальцем ткнуть, что бы не задеть BoundRect. И при скроллинге, естественно отжимается RadioButton ( а их 4 в примере). Т.е. вопрос остаётся открытым и по сей день? Кстати, поймал себя на мысли, что лет 5 назад такая проблема была в браузерах. При пролистывании "срабатывали" ссылки на страницы. Сейчас подобного не встречаю. Так каким методом решить эту проблему?
  10. В общем, сам спросил - сам ответил. Нашёл некий пример, проверил - работает. Delphi 1 2 3 4 5 6 7 8 9 10 11 12 var r: TRectF; s: string; begin RadioButton1.Canvas.Font.Size := RadioButton1.TextSettings.Font.Size; r := RectF(0, 0, RadioButton1.Size.Width-24, 10000); // не понял, что за 10000, но ни на что не повлияло s := FDQuery1.FieldByName('ANS1').AsString; // строчная переменная, в моём случае - текст из БД RadioButton1.Canvas.MeasureText(r, s, True, [], TTextAlign.Leading, TTextAlign.Leading); RadioButton1.Size.Height := r.Bottom; RadioButton1.Text := s; end Возможно, кому-то должно пригодиться.
  11. Доброго дня! Для вывода вариантов ответов на вопрос, в 6 шт. RadioBatton выводятся ответы из БД. Длина компонент фиксированная, а вот что делать с высотой? Ответы могут быть как в одно-два слова, так и в 7-10 предложений. Намёков хоть на какой-то AutoSize не нашёл. В итоге, текст центруется обрезаясь сверху и снизу.
×
×
  • Создать...