如何colo(u)r动态创建面板?

时间:2012-03-18 09:02:46

标签: delphi

我在设计时宣布了一个小组ToolStatusPanel2,并希望添加10个代表状态的面板,以颜色显示。

现在,我的主要表单声明

 ToolOnlineStatusPanel : Array[0..Pred(NUM_TOOLS)] of TPanel;

我的FormCreate希望通过

将它们设置为clRed的默认颜色
for i:= 0 to Pred(NUM_TOOLS) do
begin
  ToolOnlineStatusPanel[i] := TPanel.Create(ToolStatusPanel2);
  ToolOnlineStatusPanel[i].Parent := ToolStatusPanel2;
  ToolOnlineStatusPanel[i].Height := 16;
  ToolOnlineStatusPanel[i].Width := 16;
  ToolOnlineStatusPanel[i].Top := 8 + (i * (16 + 8));
  ToolOnlineStatusPanel[i].Left := 8;
  ToolOnlineStatusPanel[i].Color := clRed;
end;

但是这些子面板总是和它们的父级具有相同的colo(u)r,即使我改变它 - 从不红色。

显然我忽略了一些相当简单的事情。它是什么?感谢

1 个答案:

答案 0 :(得分:5)

ParentBackground设为False。