我在groupbox1上放置了几个button,

  showmessage(IntToStr(groupBox1.ComponentCount))
查看组件数目,
为什么总是显示0个?

解决方案 »

  1.   

    showmessage(IntToStr(groupBox1.ControlCount))
      

  2.   

    groupBox1.ComponentCount
    是以groupBox1为owner的组件数,
    你放置的几个button的owner并非groupBox1,
    因此总是显示0个。你试一下,像下面这样就不会为0了。
    procedure TForm1.FormCreate(Sender: TObject);
    var
      button1: TButton;
    begin
      Button1 := TButton.Create(GroupBox1);
      Button1.Parent :=  GroupBox1;
      Button1.left := GroupBox1.Left + 10;
      Button1.Top := GroupBox1.Top + 20;
      Button1.OnClick := MyClick;
    end;procedure TForm1.MyClick(Sender: TObject);
    begin
      showmessage(IntToStr(groupBox1.ComponentCount));
    end;
      

  3.   

    ComponentCount都用于form的,
    ControlCount才用于form上的容器