2010-09-23 85 views
11

出现了一个奇怪的问题:我在运行时创建TPanele并更改其颜色 - 但是颜色仍然是clBtnFace。Delphi 2009 - 在运行时创建TPanel并更改其颜色

这里的代码:

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; 

任何想法?谢谢!

回答

17

当您想要在主题操作系统下有彩色面板时,您必须将ParentBackground设置为False。

+0

我尝试过,但它不工作。 – gonzales 2010-09-23 12:37:30

+1

对不起,它的工作原理!我将ParentColot设置为false,而不是ParentBackground。谢谢! – gonzales 2010-09-23 12:51:17

-1

试试这个:-)

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;