动态创建panel后动态创建label使label的parent等于panel,为何label不可见?

解决方案 »

  1.   

    你的代码怎么写的? 是不是label.caption没赋值导致看不见?
      

  2.   

    label.caption 赋值好像被 panel 给盖住了,显示不出来,请问怎么解决,还可加分!
      

  3.   


      panel1 := tpanel.Create(self);
      panel1.Parent := self;
      label1 := tlabel.Create(panel1);
      label1.Parent := panel1;
      label1.Caption :='……'
      

  4.   

    TLabel lbl;
    lbl:= TLabel.Create(self);
    lbl.Parent:= panel1;
    lbl.Caption:= 'text';
    lbl.Top:= 10;
    lbl.Left:= 10;
    lbl.AutoSize:= true;
    lbl.BringToFront;这些都写上我不信还不行。
      

  5.   

    pazee(耙子) 老兄的代码应该没问题了。
      

  6.   

    pazee(耙子) 所说的AutoSize属性是个关键
      

  7.   

    如果不行再加一行:
    lbl.Visible := true;
    不过,设置一个控件的parent最好用SetParent,而不要对Parent属性赋值, 我试过可能会失败。
      

  8.   

    是不是因为parentcolor:=true  (这个是默认的..)
    设为flase 试一试..
      

  9.   

    我还以为有多奇怪呢,原来你的代码可能有问题
    var
      pnl : TPanel;
      lbl :Tlabel;
    begin
      pnl :=Tpanel.Create(self);
      pnl.Parent := self;
      lbl := TLabel.Create(pnl);
      lbl.Parent := pnl;
      lbl.Caption := 'fafa';
      lbl.Left :=10;
      lbl.Top := 10;end;
    估计你没设parent请大家去 http://www.new7wonders.com/c/voting.php 投长城一票
      

  10.   

    其实也就一个问题:
    label.BringToFront;