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

Прозрачные контролы


Major

Вопрос

Есть ли способ сделать стандартные контроли (TGroupbox, например) прозрачными? В Windows-приложении они прозрачные, а в Android-приложении имеют белый фон.

Спасибо.

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

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

  • 0

Это решается редактированием стиля. 
Например так:
1). Размещаете TGroupbox на форме
2). ПКМ на нем
3). в контекстном меню выбираете Edit Custom Style (или Edit Default style)
4). в открывшемся редакторе стиля указываете платформу (Android)
5). выбираете объект background (по умолчанию он белый).
6). задаете ему свойство Visible=false

Ссылка на комментарий
  • 0
3 часа назад, Rusland сказал:

enatechno, есть Panel, зашел в Edit Default Style, сделал Rectangle Visible=false, сохранил. Панель не стала прозрачной. Снова захожу в Edit Default Style - у Rectangle Visible=true. Почему?

Если не ошибаюсь, то у стандартного стиля для Panel - TRectangle - это и есть весь стиль ))) Потому и не может быть Visible=False )

Так уберите у него заливку, сделав ее прозрачной. И все.

Ссылка на комментарий
  • 0
6 минут назад, AlexG сказал:

Если не ошибаюсь, то у стандартного стиля для Panel - TRectangle - это и есть весь стиль ))) Потому и не может быть Visible=False )

Так уберите у него заливку, сделав ее прозрачной. И все.

Полностью согласен. panelstyle - это и есть только один TRectangle. StyleEditor не позволяет его сделать Visible=false. Но можно менять Opacity. Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль.
Работа с background в TGroupbox зависит от платформы. Посмотрите в редакторе стилей на дефолтный groupboxstyle:
- для платформы Windows: текст, используемый для заголовка группы, расположен на объекте background. Если Вы будете менять видимость или прозрачность background, то текст тоже будет невидимым/прозрачным.
- для платформы Android: текст расположен на отдельном layout. В этом случае изменение видимости/прозрачности background не влияет на отображение текста заголовка.

Ссылка на комментарий
  • 0
1 минуту назад, enatechno сказал:

Полностью согласен. panelstyle - это и есть только один TRectangle. StyleEditor не позволяет его сделать Visible=false. Но можно менять Opacity. Если нужна невидимая панель, то лучше использовать обычный TLayout, который вообще не использует стиль.
Работа с background в TGroupbox зависит от платформы. Посмотрите в редакторе стилей на дефолтный groupboxstyle:
- для платформы Windows: текст, используемый для заголовка группы, расположен на объекте background. Если Вы будете менять видимость или прозрачность background, то текст тоже будет невидимым/прозрачным.
- для платформы Android: текст расположен на отдельном layout. В этом случае изменение видимости/прозрачности background не влияет на отображение текста заголовка.

 Согласен.

Я, например, делаю либо свой стиль для нужного компонента, либо делаю копию (например от стиля Android), если хочу чтобы выглядело абсолютно одинаково везде.

Можно оставить родной стиль для TPanel, сделав свой стиль, типа panelopacitystyle (и потом задав его вашим панелям, которым требуется именно прозрачность), в котором вы можете изголяться со стилем как вашей душе будет угодно. Заполнять панели чем угодно, хоть картинками... При этом, в чем прелесть, - можно программно менять стиль из приложения при необходимости (например, - реакция на какие-либо события).

Ссылка на комментарий
  • 0
1 час назад, enatechno сказал:

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

Layout не всегда подходит

1 час назад, enatechno сказал:

Но можно менять Opacity.

Этим советом и воспользовался. Спасибо

 

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

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

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

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

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

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

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

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

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

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

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