Посылается перед изменением размеров или положения окна. Обработчик сообщения может использоваться для ограничения допустимых размеров и координат положения на экране.
Параметры
MinMaxInfo - указывает на структуру типа MINMAXINFO, содержащую принятые по умолчанию пределы изменения размеров и координат положения окна. Описание этой структуры:
typedef struct tagMINMAXINFO{
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
} MINMAXINFO;
Поля структуры означают следующее:
ptReserved - Зарезервировано и пока не используется
ptMaxSize - Поле типа Point определяет ширину (Point.x) и высоту (Point.y) развернутого окна
ptMaxPosition - Поле типа Point определяет положения левого (Point.x) и верхнего (Point.y) краев развернутого окна
ptMinTrackSize - Поле типа Point определяет минимальную ширину (Point.x) и минимальную высоту (Point.y) окна при изменении пользователем размеров его рамки
ptMaxTrackSize - Поле типа Point определяет максимальную ширину (Point.x) и максимальную высоту (Point.y) окна при изменении пользователем размеров его рамки
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно должно вернуть 0.
Пример:
Сначала нужно в частных объявлениях (после слова private) объявить процедуру обработки данного сообщения
В области реализации (implementation) её нужно описать так:
procedure TForm1.WMGetMinMaxInfo(var Msg:TWMGetMinMaxInfo);
beginwith Msg.MinMaxInfo^ dobegin
ptMinTrackSize.x:=308; { минимальная ширина окна }
ptMinTrackSize.y:=180; { минимальная высота окна }
ptMaxTrackSize.x:=400; { максимальная ширина окна }
ptMaxTrackSize.y:=250; { максимальная высота окна }
ptMaxPosition.x:=BoundsRect.Left; { максимальная позиция окна по оси Х после максимизации }
ptMaxPosition.y:=BoundsRect.top; { максимальная позиция окна по оси У после максимизации }
ptMaxSize.x:=308; { максимальная ширина окна после максимизации }
ptMaxSize.y:=180; { максимальная высота окна после максимизации }end;
inherited;
end;
Статья WM_GETMINMAXINFO раздела ОС и Железо Сообщения Windows может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.