如何编程使得Form完全没有边界?当两个Form拼在一起时好像一个一样。

解决方案 »

  1.   

    设置BorderStyle := bsNone;还是有边的,
    只是不是蓝色的边,
    而是像按钮一样的有点立体感的灰白色的边,
    而我需要完全没有边。
      

  2.   

    设置BorderStyle := bsNone;再设置一下边框的颜色。试一下。
      

  3.   

    除了设置BorderStyle := bsNone之外,再将bordericon里面的属性改改,再改改边框颜色。
      

  4.   


    你看到的是不是Windows的窗体阴影之类?从我自己的程序来看,bsNone是没问题的。
      

  5.   


    支持!bsNone绝对可以的,如果还看到有边,那应该是系统外观效果处理而导致的,如果真是这样,你就只有放弃用Win窗口,完全自绘。
      

  6.   

    我的程序是多文档格式,用两个Form,Form1和Form2,Form1窗体的style为fsMDIform,代码为:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Buttons;type
      TForm1 = class(TForm)
        SpeedButton1: TSpeedButton;
        procedure SpeedButton1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
    form2.show;
    end;end.Form2窗体的style为fsMDIchild,代码为:unit Unit2;interface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;
    type
      TForm2 = class(TForm)
      private
        { Private declarations }
      protected
        procedure createparams(var params : TCreateParams);override;
      public
        { Public declarations }
      end;
    var
      Form2: TForm2;
    implementation
    {$R *.dfm}
    procedure TForm2.createparams(var params: TCreateParams);
    begin
      inherited;
      {取消标题栏}
      params.Style:= params.Style and (not WS_CAPTION);
    end;
    end.运行后,Form1和Form2之间就可看到有一个边框隔开。无论怎样改变
    form2的属性,这个边框总是无法去掉, 包括设置BorderWidth:=0;
    BorderStyle:=bsNone;
    BorderIcon:=[];
      

  7.   

    不用MDI多窗口模式,反正你不需要标题栏和边框,也就说你要的就是一个容器,那建议就用单窗口,里面用TPanel来模拟子窗口,应该可行。
      

  8.   


    我原来就是用单窗口的,但是还我需要在其上放许多组件,
    而放了组件后,form上就不能随心所欲地画图了。
      

  9.   


    我原来就是用单窗口的,但是我还需要在其上放许多组件,
    而放了组件后,form上就不能随心所欲地画图了。