Вопросы и Ответы
33. Существет ли способ ограничения максимального и минимального размера окна?
Перед изменением размера окна Windows посылает сообщение wm_GetMinMaxInfo, перехватив которое, можно устанавливать необходимые размеры окна.
Ограничение на размеры окна содержатся в структуре типа TMinMaxInfo. Для установки новых ограничений достаточно изменить соответствующие значения. В таблице описаны используемые поля данной структуры:
Поле |
Описание |
ptMaxSize | Размер окна при его максимизации. |
ptMaxPosition | Положение левого верхнего угла окна при его максимизации. |
ptMaxTrackSize | Максимальный размер окна при увеличении его размеров. |
ptMinTrackSize | Минимальный размер окна при уменьшении его размеров. |
............
public ............ end; ............ {Установка новых ограничений} {Выполнение
предварительно определенного метода} END; ............
PROCEDURE WMGetMinMaxInfo(VAR M: TWMGetMinMaxInfo);
MESSAGE WM_GetMinMaxInfo;
PROCEDURE
TForm1.WMGetMinMaxInfo(VAR M: TWMGetMinMaxInfo);
BEGIN
inherited;
{координата X}
M.MinMaxInfo^.PTMaxSize.X := 400;
M.MinMaxInfo^.PTMaxPosition.X := 100;
M.MinMaxInfo^.PTMaxTrackSize.X := 500;
M.MinMaxInfo^.PTMinTrackSize.X := 300;
{координата Y}
M.MinMaxInfo^.PTMaxSize.Y := 250;
M.MinMaxInfo^.PTMaxPosition.Y := 100;
M.MinMaxInfo^.PTMaxTrackSize.Y := 300;
M.MinMaxInfo^.PTMinTrackSize.Y := 200;
...предыдущая страница следующая...
оглавление