要防止在Delphi中调整表单大小,您可以通过以下方法:
在表单的OnCreate
事件中,添加以下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle := bsSizeToolWin;
end;
这将使表单无法调整大小。
WM_GETMINMAXINFO
消息:在表单的OnCreate
事件中,添加以下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle := bsSizeable;
end;
procedure TForm1.WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);
begin
inherited;
Message.MinMaxInfo.ptMinTrackSize.X := ClientWidth;
Message.MinMaxInfo.ptMinTrackSize.Y := ClientHeight;
Message.MinMaxInfo.ptMaxTrackSize.X := ClientWidth;
Message.MinMaxInfo.ptMaxTrackSize.Y := ClientHeight;
end;
这将限制表单的大小为当前大小,无法调整。
在表单的OnCreate
事件中,添加以下代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle := bsSizeable;
Application.HookMainWindow(HookProc);
end;
function TForm1.HookProc(var Message: TMessage): Boolean;
begin
Result := False;
if Message.Msg = WM_GETMINMAXINFO then
begin
with TWMGetMinMaxInfo(Message).MinMaxInfo^ do
begin
ptMinTrackSize.X := ClientWidth;
ptMinTrackSize.Y := ClientHeight;
ptMaxTrackSize.X := ClientWidth;
ptMaxTrackSize.Y := ClientHeight;
end;
Result := True;
end;
end;
这将限制表单的大小为当前大小,无法调整。
这些方法可以有效地防止在Delphi中调整表单大小。
领取专属 10元无门槛券
手把手带您无忧上云