Советы по Delphi

       

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


Вы должны перехватывать сообщение 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);inheritedend;

И все заработает как надо.

[000102]

Содержание раздела