Цветът на TPanel е черен, независимо от всичко

Току-що активирах темите в моя Windows XP (обикновено работя с класическия изглед на Win9x) и видях, че два панела са чисто черни. Други панели са ок (цвят = clBtnFace). Общото между тези 2 панела е техният родител. И двете се поставят директно върху TForm. Ако ги преместя към друг родител (друг панел например), те имат подходящия цвят.

Delphi 7, win xp 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
Всъщност, когато работите върху тематични системи, parentcolor се нулира при създаване на формуляр. Трябва да върнете това свойство обратно в метод FormCreate, за да изчистите проблема. - person Erik Knowles; 15.05.2013