当使用WindowsXP风格时, 对TPanel或TLabel的Color属性赋值无效,如何解决?(100分)

S

skyweb

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的程序中,TPanel和TLabel是放在一个TTabSheet上面的,
在Windows9x/NT的标准风格下,设置TPanel和TLabel的颜色属性可以产生相应的效果,
但在WindowsXP风格下(Common Control 6.0),无论怎样,设置颜色都不会产生作用,
似乎被强制变成透明的了...
 
看这里:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1411501
 
感谢www的提示, 不过我认为你的临时解决办法并不合适.[:D]
ControlStyle是TControl类的一个Public属性,所以我们不需要修改ComCtrls.pas,
只要在程序的适当地方将其ControlStyle属性的csParentBackground给去掉去可[8D]
此办法适用于所有TControl的继承类.

很显然这并不是一个Bug, 而是一个改进, 只是我们还不适应而已.

我的问题已经解决.

例:
procedure TForm1.Create(Sender: TObject);
begin
Panel2.ControlStyle:=Panel2.ControlStyle - [csParentBackground];
Panel2.Color:=clRed;
end;
 
多人接受答案了。
 
顶部