Предотвращение изменения вертикальных размеров окна

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Вы должны перехватывать сообщение WM_GETMINMAXINFO:

Поместите это в декларацию класса формы:

procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo);

message WM_GETMINMAXINFO;

и в секции реализации:

procedure TMyForm.WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo);

begin

{ ———————————————————————}

{ Поместите ваши величины вместо }

{ MIN_WIDTH, MIN_HEIGHT, MAX_WIDTH, MAX_HEIGHT }

{ }

{ Для возможности только горизонтального изменение размера, }

{ поместите значение свойства формы ‘Height’ в MIN_HEIGHT, MAX_HEIGHT }

{ ———————————————————————}

Msg.MinMaxInfo^.ptMinTrackSize := Point(MIN_WIDTH, MIN_HEIGHT);

Msg.MinMaxInfo^.ptMaxTrackSize := Point(MAX_WIDTH, MAX_HEIGHT);

inherited;

end;

{/codecitation}

Добавить комментарий