Delphi可调整大小的bsDialog表格?

时间:2015-08-19 13:11:02

标签: delphi delphi-7

如何使用BorderStyle bsDialog创建表单(ShowModal)。但仍然可以调整大小并关闭按钮(没有Icon,Minimize,Maximize)?

我不需要它来显示大小的抓地力。

2 个答案:

答案 0 :(得分:4)

这是我的解决方案似乎正常工作:

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"可以调整大小。

答案 1 :(得分:1)

BorderStyle设置为bsSizeToolWin