БОЛЬШОЙ FAQ ПО DELPHI



ограничение размеров окна

Нужно объявить процедуру в частных объявлениям (после ключевого слова Private):
private
{ Private declarations }
procedure WMGetMinMaxInfo(var Info:TWMGetMinMaxInfo); message wm_GetMinMaxInfo;
В области implementation описываем процедуру так: implementation
{$R *.DFM}
procedure TForm1.WMGetMinMaxInfo(var Info:TWMGetMinMaxInfo);
begin
with Info.MinMaxInfo^ do begin
ptMinTrackSize.x:=200;
ptMinTrackSize.y:=100;
ptMaxTrackSize.x:=300;
ptMaxTrackSize.y:=200;
ptMaxPosition.x:=BoundsRect.Left;
ptMaxPosition.y:=BoundsRect.top;
end;
inherited;
end;
Как это сделано?
Строка
ptMinTrackSize.x:=200;
задаёт минимальный размер окна по оси Х, т.е. минимальную ширину окна, строка
ptMinTrackSize.y:=200;
- минимальную высоту. Максимальные лимиты задаются соответственно:
ptMaxTrackSize.x:=300;
ptMaxTrackSize.y:=200;
Даже если пользователь развернёт окно, оно не превысит максимальные значения, указанные нами! Следующие две строки задают положение левого верхнего угла окна в развёрнутом виде
ptMaxPosition.x:=BoundsRect.Left;
ptMaxPosition.y:=BoundsRect.top;
- левый верхний угол не сместиться



<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ