Панели, отображаемые в верхней части панели, содержащей диаграмму, прозрачны (Delphi)

#delphi #teechart

Вопрос:

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

проблема: начиная с Delph 10.4, на панели отображаются разделы диаграммы. проблема не существовала в Delphi Seattle (и не проверялась в 10.2 и 10.3), но в 10.4 я не могу показать 3 панели без отображения разделов диаграммы.
Чтобы повторить, добавьте панель в форму, поместите диаграмму на панель. добавьте в форму вторую панель, невидимую, с некоторым текстом. добавьте меню щелчка правой кнопкой мыши, чтобы сделать панель видимой. разделы диаграммы «просачиваются» через панель. Это также происходит с групповыми ящиками. вот как это выглядит: введите описание изображения здесь

вопрос в следующем: как я могу заставить панели отображаться правильно?

Как я хочу, чтобы это выглядело: введите описание изображения здесь

Ответ №1:

Я могу воспроизвести это в Delphi 10.3 Рио

Это происходит только в том случае, если панель добавлена в качестве дочернего элемента управления компонента TChart и у нее включено свойство ParentBackground (включено по умолчанию).

Я предполагаю, что TChart фон нарисован с прозрачностью на каком-то уровне. И когда ParentBackground свойство любого дочернего компонента включено, backgroud таких компонентов также рисуется с использованием прозрачности.

Отключение ParentBackground свойств ваших панелей решит вашу проблему.

Комментарии:

1. Спасибо. Иногда это самые простые вещи…