Код:

type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure WMGetMinMaxInfo(var Message:TMessage); message WM_GETMINMAXINFO;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{Используется обработка Windows сообщения WM_GETMINMAXINFO
Например, ограничение на уменьшение размера формы
и на увеличение ее по высоте:}
//-----------------------------------------------------//
//ограничение на изменение размера формы
//-----------------------------------------------------//
procedure TForm1.WMGetMinMaxInfo(var Message : TMessage);
type PTMinMaxInfo = ^TMinMaxInfo;
begin
with PTMinMaxInfo(Message.LParam)^.ptMinTrackSize do
begin
x := 100;
y := 100;
end;
with PTMinMaxInfo(Message.LParam)^.ptMaxTrackSize do
begin
x := 400;
y := 400;
end;
inherited;
//вызвать оригинальный обработчик а в конце чтоб подменил значения
end;
В интернете нашел, сам такое сделать не могу, и с тем что выше (sizing) сделать не получилось, но этот код работает так как мне нужно было изначально