Цвет TPanel черный несмотря ни на что

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

Делфи 7, WinXP Pro


person Z80    schedule 13.07.2010    source источник


Ответы (2)


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

Новая проблема (XPMan) обсуждается здесь: Цвет TPanel становится черным, когда я помещаю элемент управления XPManifest в свою форму


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

person Z80    schedule 13.07.2010

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

person Remy Lebeau    schedule 13.07.2010
comment
На самом деле, при работе с тематическими системами родительский цвет сбрасывается при создании формы. Вы должны поместить это свойство обратно в метод FormCreate, чтобы устранить проблему. - person Erik Knowles; 15.05.2013