2010-07-13 5 views
1

Я только что активировал темы в своей Windows XP (как правило, я работаю с использованием классического вида Win9x), и я видел, что две панели имеют черный цвет. Другие панели в порядке (цвет = clBtnFace). У этих двух панелей есть их родитель. Оба они размещаются непосредственно на TForm. Если я переведу их на другой родительский элемент (например, на другую панель), у вас есть соответствующий цвет.Цвет TPanel черный, независимо от того, что

Delphi 7, Win XP Pro

ответ

2

Это еще одна грандиозная ошибка Delphi. Я начал удалять вещи из своего проекта и перекомпилировать проект. Через час я наконец пошел к основной форме. Я удалил элемент управления XPManifest, и теперь, по волшебству, программа работает.

Новый выпуск (XPMan) обсуждается здесь: TPanel color is black when I drop a XPManifest control on my form


Edit: Удаление XPMan недостаточно. Вам также придется удалить файлы RES. Для больших приложений может потребоваться некоторое время, чтобы вручную восстановить этот файл. Возможно, он работает в этом файле и вручную удаляет ресурсы, добавленные XPMan.

1

Убедитесь, что панели не имеют ParentColor=false и Color=clBlack, возложенные на них, и что ParentBackground=true назначается.

+0

№ Свойства Свойства прекрасны. – Ampere

+0

Собственно, при работе над тематическими системами родительский цвет сбрасывается при создании формы. Вы должны вернуть это свойство в метод FormCreate для устранения проблемы. –

-1

В моем случае, поместив выравнивание (например, внизу) в мою TPanel, я решил проблему.

Смежные вопросы