Hevard Опубликовано 8 апреля, 2021 Поделиться Опубликовано 8 апреля, 2021 (изменено) Доброго дня! Не пойму, в чём накосячил, ибо Делфил лет 15-20 назад, а тут добрался до FMX... В приложении на Скролле лежат 8 РадиоКнопок с Align = Top; Visible = False; Код заполнения линейно, из БД. Если поле БД не пустое - видим, если пустое - не видим. При работе приложения, они располагаются "по своему усмотрению". Изменено 8 апреля, 2021 пользователем Hevard Цитата Ссылка на комментарий
0 krapotkin Опубликовано 8 апреля, 2021 Поделиться Опубликовано 8 апреля, 2021 вроде же с этим вопросом разобрались давно? Цитата Ссылка на комментарий
0 Hevard Опубликовано 8 апреля, 2021 Автор Поделиться Опубликовано 8 апреля, 2021 Если честно, я не до конца понял, что к чему. И меня мучает вопрос - если операции линейны, почему смещается порядок? Спросить постеснялся... Цитата Ссылка на комментарий
0 krapotkin Опубликовано 8 апреля, 2021 Поделиться Опубликовано 8 апреля, 2021 Зря) Все очень просто. Дано Rb1, Rb2. Align = TOP, Visible = true Код Rb1.Visible := false; Rb1.Visible := true; приведет к очень интересному результату: Когда исчезнет rb1, rb2 подтянется на самый верх, т.е. RB2.position.Y станет = 0. Теперь rb1 появляется и position.Y у него не меньше чем у RB2. Следовательно, rb1 автоматически отодвинется вниз. Собсно, всё. Выходов из ситуации несколько 1) "Нормальный": создавать RB или Layout c RB или фрейм по необходимости. И последовательно присваивая position.Y := 1000000 они сами будут подтягиваться наверх 2) "И так сойдет": явно пробежать по видимым RB и расставить им Position.Y опять же 1000000 чтобы они подтянулись наверх в нужном порядке 3) "Гибридный": всегда использовать RB по порядку. В первом - первый вопрос, во втором второй и т.д. Лишние снизу - прятать Цитата Ссылка на комментарий
0 Hevard Опубликовано 9 апреля, 2021 Автор Поделиться Опубликовано 9 апреля, 2021 14 часов назад, krapotkin сказал: 3) "Гибридный": всегда использовать RB по порядку. В первом - первый вопрос, во втором второй и т.д. Лишние снизу - прятать Так вроде в таком порядке они и используются. RB1 - 2 поле БД (1й ответ), в RB2 - 3 поле БД (2й ответ) и т.д. Они заполняются корректно в соответствии, а шатаются по Скроллу, как пьяные матросы. И порядок вроде бы логичный: они же все объявлены как Visible = True. Есть поле 2 - нарисовали, есть поле 3 - нарисовали ... есть поле 7 - нарисовали. Я понимаю, если, к примеру нет поля 4, то 3-го Button-a нет и на его место встаёт 4-й Button. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 9 апреля, 2021 Поделиться Опубликовано 9 апреля, 2021 насколько я помню код - они там сначала прячутся, потом появляются. да еще и со сменой высоты. Я уже не помню подробности, но там было все абсолютно логично. В общем, опять копаться лень. Применяй хотя бы вариант 2 и все бует норм. Цитата Ссылка на комментарий
Вопрос
Hevard
Доброго дня!
Не пойму, в чём накосячил, ибо Делфил лет 15-20 назад, а тут добрался до FMX...
В приложении на Скролле лежат 8 РадиоКнопок с Align = Top; Visible = False;
Код заполнения линейно, из БД. Если поле БД не пустое - видим, если пустое - не видим.
При работе приложения, они располагаются "по своему усмотрению".
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.