Major Опубликовано 15 марта, 2017 Поделиться Опубликовано 15 марта, 2017 Есть ли способ сделать стандартные контроли (TGroupbox, например) прозрачными? В Windows-приложении они прозрачные, а в Android-приложении имеют белый фон. Спасибо. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 15 марта, 2017 Модераторы Поделиться Опубликовано 15 марта, 2017 в FMX все делается с помощью стилей, нужно отредактировать стиль TGroupbox AngryOwl, Alex7wrt и Major 3 Цитата Ссылка на комментарий
0 enatechno Опубликовано 15 марта, 2017 Поделиться Опубликовано 15 марта, 2017 Это решается редактированием стиля. Например так: 1). Размещаете TGroupbox на форме 2). ПКМ на нем 3). в контекстном меню выбираете Edit Custom Style (или Edit Default style) 4). в открывшемся редакторе стиля указываете платформу (Android) 5). выбираете объект background (по умолчанию он белый). 6). задаете ему свойство Visible=false Alex7wrt, rareMax, Rusland и 3 других 6 Цитата Ссылка на комментарий
0 Rusland Опубликовано 16 марта, 2017 Поделиться Опубликовано 16 марта, 2017 enatechno, есть Panel, зашел в Edit Default Style, сделал Rectangle Visible=false, сохранил. Панель не стала прозрачной. Снова захожу в Edit Default Style - у Rectangle Visible=true. Почему? Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 16 марта, 2017 Поделиться Опубликовано 16 марта, 2017 3 часа назад, Rusland сказал: enatechno, есть Panel, зашел в Edit Default Style, сделал Rectangle Visible=false, сохранил. Панель не стала прозрачной. Снова захожу в Edit Default Style - у Rectangle Visible=true. Почему? Если не ошибаюсь, то у стандартного стиля для Panel - TRectangle - это и есть весь стиль ))) Потому и не может быть Visible=False ) Так уберите у него заливку, сделав ее прозрачной. И все. enatechno и Rusland 2 Цитата Ссылка на комментарий
0 enatechno Опубликовано 16 марта, 2017 Поделиться Опубликовано 16 марта, 2017 6 минут назад, AlexG сказал: Если не ошибаюсь, то у стандартного стиля для Panel - TRectangle - это и есть весь стиль ))) Потому и не может быть Visible=False ) Так уберите у него заливку, сделав ее прозрачной. И все. Полностью согласен. panelstyle - это и есть только один TRectangle. StyleEditor не позволяет его сделать Visible=false. Но можно менять Opacity. Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль. Работа с background в TGroupbox зависит от платформы. Посмотрите в редакторе стилей на дефолтный groupboxstyle: - для платформы Windows: текст, используемый для заголовка группы, расположен на объекте background. Если Вы будете менять видимость или прозрачность background, то текст тоже будет невидимым/прозрачным. - для платформы Android: текст расположен на отдельном layout. В этом случае изменение видимости/прозрачности background не влияет на отображение текста заголовка. AngryOwl, Rusland и ENERGY 3 Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 16 марта, 2017 Поделиться Опубликовано 16 марта, 2017 1 минуту назад, enatechno сказал: Полностью согласен. panelstyle - это и есть только один TRectangle. StyleEditor не позволяет его сделать Visible=false. Но можно менять Opacity. Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль. Работа с background в TGroupbox зависит от платформы. Посмотрите в редакторе стилей на дефолтный groupboxstyle: - для платформы Windows: текст, используемый для заголовка группы, расположен на объекте background. Если Вы будете менять видимость или прозрачность background, то текст тоже будет невидимым/прозрачным. - для платформы Android: текст расположен на отдельном layout. В этом случае изменение видимости/прозрачности background не влияет на отображение текста заголовка. Согласен. Я, например, делаю либо свой стиль для нужного компонента, либо делаю копию (например от стиля Android), если хочу чтобы выглядело абсолютно одинаково везде. Можно оставить родной стиль для TPanel, сделав свой стиль, типа panelopacitystyle (и потом задав его вашим панелям, которым требуется именно прозрачность), в котором вы можете изголяться со стилем как вашей душе будет угодно. Заполнять панели чем угодно, хоть картинками... При этом, в чем прелесть, - можно программно менять стиль из приложения при необходимости (например, - реакция на какие-либо события). Rusland и enatechno 2 Цитата Ссылка на комментарий
0 Rusland Опубликовано 16 марта, 2017 Поделиться Опубликовано 16 марта, 2017 1 час назад, enatechno сказал: Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль. Layout не всегда подходит 1 час назад, enatechno сказал: Но можно менять Opacity. Этим советом и воспользовался. Спасибо Цитата Ссылка на комментарий
Вопрос
Major
Есть ли способ сделать стандартные контроли (TGroupbox, например) прозрачными? В Windows-приложении они прозрачные, а в Android-приложении имеют белый фон.
Спасибо.
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.