很简单的问题:如何得到pagecontrol中的一个Tabsheet中的控件个数ComponentCount 回复内容

1 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-11-30 12:02:34

showMessage(IntToStr(PageControl1.Pages[0].ControlCount));Top

2 楼javaxbenz(任逍遥)回复于 2004-11-30 13:11:06

在调试   这样一句时PageControl1.Pages[2].ComponentCount-   1:出现这样的debug提示:  
  PageControl1.Pages[2].ComponentCount   =Variable   'Self'   inaccessible   here   due   to   optimization,请问这个该如何解决呢?Top

3 楼javaxbenz(任逍遥)回复于 2004-12-03 14:07:05

upTop

4 楼shunbing()回复于 2004-12-03 14:21:00

procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      i:integer;  
  begin  
      i:=PageControl1.Pages[0].ControlCount;  
      showmessage(IntToStr(i));  
  end;  
   
  没问题的,我调试过了Top

5 楼36(蛀虫写手)回复于 2004-12-03 14:24:59

ControlCount   <>   ComponentcountTop

6 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2004-12-03 14:31:52

一个笨方法:遍历所有控件(for   i:=0   to   self.ComponentCount-1   do),判断每个控件的Parent.name是不是tabsheet1Top

7 楼36(蛀虫写手)回复于 2004-12-03 14:32:27

Panel中有3个控件;  
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var   i:integer;  
  begin  
  i:=   panel1.ControlCount   ;  
  showmessage(inttostr(i));   //   i=3;  
  i:=   panel1.ComponentCount   ;  
  showmessage(inttostr(i));   //i=1;  
  end;Top

8 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2004-12-03 14:33:58

顺便学习一楼的方法Top

9 楼mixihello(呵呵)回复于 2004-12-21 10:35:10

panel1.ControlCount       panel1.ComponentCountTop