不行呀,创建的label的Caption老是显示不出

解决方案 »

  1.   

    我就是用的Label呀,没问题,你的代码我也没改
      

  2.   

    你是在D5还是D6里?我是在D6里,总是显示不出Caption
      

  3.   

    你的ATOP 在FOR 外赋值了吗?
    如果赋值了就没问题。
      

  4.   

    没问题! 不过你可以在Parent := Self;前加一句 
      Name := 'label'+IntToStr(i);
                
                
                
      

  5.   

    name可以自动产生的,并且就是这个顺序(从1开始)
    下面是我照你的代码来的,没发现问题啊!var
      atop:integer=0;procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
    for i:=0 to 9 do
        begin
          with TLabel.Create(Self) do
            begin
                Parent := Self;
                top := ATop;
                width := 65;
                height := 17;
                if ((i+2) mod 2)=0 then
                    left:=8
                else
                begin
                    left := 180;
                    ATop := ATop+28;
                end;
                caption:='label'+IntToStr(i);
            end;
          end;end;
      

  6.   

    你的Form上有没有放其他的可视构件?如Panel类的,可能你创建的Label被盖住了。
      

  7.   

    Parent := Self;
      top := ATop;
      width := 65;
      height := 17;怎么有这样的写法,将 Parent 设为自己。TLabel 不是一个真正的Windows
    控件,实际上是程序自己在其他Windows控件上输出字符。在 Delphi 和 C++
    Builder里,所有控件的位置都是相对位置(TForm除外),所以这儿根本就不
    知道 TLabel 相对哪个控件的位置,因而位置是随机数,因此有时能看到,
    有时不能看到。
      

  8.   

    我是用C++Builder的,对Delphi(Pascal)写的程序一般还是可以看懂的。
    刚才不小心看错了,丢脸啦。
      

  9.   

    shangshang(大雪有痕) 的程序我试过了,可以的!
    你在注意你的atop变量的定义!
      

  10.   

    我遇到过同样的情况,你把parent:=self改为parent:=form1(label放的窗体)就可以了。
    具体原因我也不是很清楚。估计一个对象的父类只能是一个对象,而不能是类。self表示的是类,而不是对象。