Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi可调整大小的对话框窗体?_Delphi_Delphi 7 - Fatal编程技术网

Delphi可调整大小的对话框窗体?

Delphi可调整大小的对话框窗体?,delphi,delphi-7,Delphi,Delphi 7,如何使用BorderStylebsDialog制作表单(ShowModal)。但是一个仍然可以调整大小并有关闭按钮(没有图标,最小化,最大化) 我不需要它来显示大小夹点。将边框样式设置为bsSizeToolWin以下是我的解决方案,似乎可以: type TForm2 = class(TForm) procedure FormCreate(Sender: TObject); private protected procedure CreateWnd; override;

如何使用BorderStyle
bsDialog
制作表单(ShowModal)。但是一个仍然可以调整大小并有关闭按钮(没有图标,最小化,最大化)


我不需要它来显示大小夹点。

边框样式设置为
bsSizeToolWin

以下是我的解决方案,似乎可以:

type
  TForm2 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
  protected
    procedure CreateWnd; override;
    procedure CreateParams(var Params: TCreateParams); override;
  public
  end;

var
  Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.FormCreate(Sender: TObject);
begin
  BorderIcons := [biSystemMenu];
  BorderStyle := bsSizeable;
  AutoScroll := False;
end;

procedure TForm2.CreateWnd;
begin
  inherited;
  SendMessage(Handle, WM_SETICON, 1, 0);
end;

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.ExStyle := Params.ExStyle or WS_EX_DLGMODALFRAME or WS_EX_WINDOWEDGE;
end;

在我看来,这不能用
bsDialog
来完成,但是上面的感觉和看起来就像一个“
bsDialog
”可以调整大小。

非常棒的解决方案,这已经困扰了我很多年了。这使得工具窗口的标题栏变小了,而不是一个普通的对话框。