我在做程序时做了一个模板,其它界面都是从这个模板继承过来的,这是为了控制整个程序的大体风格一致,更是为了更好地共享代码,在这个模板中我添加了一个工具栏,工具栏上有几个最常见的按钮,这都很正常的。   
          现在问题来了,当我在另一个界面(从那个模板继承过来的)上需要新加几个特别的按钮时,这几个新加的按钮只能显示在模板工具栏按钮的后面,虽然在设计时可以控制它在任何位置,但一显示时就又回到后面去了,真的很让我痛苦,请诸位大哥帮助我一下吧。在此多谢了!!!!!!!!!   

解决方案 »

  1.   

    继承过来的按钮的Parent属性应该是窗体,把他们的Parent属性改成你的工具栏。试试
      

  2.   

    按道理不会出现这样子的情况啊!我觉的楼主应该仔细看看是否有代码或设计或者DFM文件(有时候它也会搞鬼)有没有什么特别的地方!实在不行,把东西上传上来大家帮忙一起看看!
      

  3.   

    现在在用的一套系统是在设计时把所有要用的按钮都放到工具栏上,
    在不同的界面里再控制按钮的enabled属性
      

  4.   

    窗体show的时候用代码调整一下button的位置?
      

  5.   

    给你提代码让你参考 
      protected
        procedure InitToolButton;virtual;
    procedure TFrm_WinFrom.InitToolButton;
    var
      ToolButton: TToolButton;
      I,L: Integer;
    begin
        ToolBar1.ShowCaptions:= True;
        ToolBar1.Images:= Img_ToolBar;
        ToolBar1.DisabledImages:= Img_ToolBar;
        L:= 0;
        for I:= 0 to FixToolButtonCount - 1 do
        begin
            ToolButton:= TToolButton.Create(Self);
            ToolButton.Left:= L;
            if I <>  FixToolButtonCount - 1 then
            begin
                ToolButton.Width:= 9;
                ToolButton.Style:= tbsSeparator;
            end else
            begin
                ToolButton.Style:= tbsButton;
                ToolButton.OnClick:= ToolButtonClick_Return;
                ToolButton.ImageIndex:= 0;
                ToolButton.Tag:= LRSID_0000C8;
            end;  
            ToolButton.Parent:= ToolBar1;
            L:= ToolButton.Left + ToolButton.Width;
            if I = 0 then
                FToolButtonLeft:= L;
        end;
    end;