为了让TStatusBar上能放控件,写了下面一个类:
type
  TStatusBarEx = class(TStatusBar)
  public
    Constructor Create(AOwner: TComponent); override;
  end;implementation{ TStatusBarEx }constructor TStatusBarEx.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle + [csAcceptsControls];
end;我想直接在代码中用,没有做成控件,代码如下:
var
  a: TStatusBarEx;
  b: TStatusPanel;
begin
  a := TStatusBarEx.Create(self);
  b := a.Panels.Add;
  b.Width := 100;
  b.Text := '能放控件的Bar';  b := a.Panels.Add;  //这个Panel上我想放个按钮(bn)应怎么写
  b.Width := 100;
  
  bn.Parent := statusbar1;  //应该怎么写
请大家帮忙.

解决方案 »

  1.   

    b := a.Panels.Add;  //这个Panel上我想放个按钮(bn)应怎么写
      b.Width := 100;
    /////////
    var
      btn1: TButton;begin
      btn1 := TButton1.Create(b);
      btn1.Parent := b;
    end;
      

  2.   

    能说清楚点吗, b的类型是TStatusPanel(它的继承关系不是从TWinControl继承下来的,是不能做为容器的啊),我想把创建的按钮放在状态栏上的第二个Panel上,应怎么写啊,你的这个写法不行啊, 请指点