Delphi 2009 - создайте TPanel во время выполнения и измените его цвет - PullRequest
11 голосов
/ 23 сентября 2010

получил странную проблему: я создаю TPanele во время выполнения и изменяю его цвет - однако, цвет по-прежнему clBtnFace.

Вот код:

procedure TForm1.Button1Click(Sender: TObject);
var
  pnlTest : TPanel;
begin
    pnlTest := TPanel.Create(Form1);
    pnlTest.Parent := Form1;
    pnlTest.Width := 100;
    pnlTest.Height := 100;
    pnlTest.Color := clRed;
end; 

Есть идеи? Спасибо!

Ответы [ 2 ]

19 голосов
/ 23 сентября 2010

Если вы хотите иметь цветные панели под тематической ОС, вы должны установить для ParentBackground значение False.

0 голосов
/ 01 ноября 2015

Попробуйте это: -)

procedure TForm1.Button1Click(Sender: TObject);
var
  pnlTest : TPanel;
begin
    pnlTest := TPanel.Create(Form1);
    pnlTest.Parent := Form1;
    pnlTest.Width := 100;
    pnlTest.Height := 100;
    pnlTest.ParentBackground := false;
    pnlTest.Color := clRed;
end;
...