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

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

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

 
« Предыдущая статья   Следующая статья »