Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



WM_GETMINMAXINFO

Посылается перед изменением размеров или положения окна. Обработчик сообщения может использоваться для ограничения допустимых размеров и координат положения на экране.

Параметры

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) объявить процедуру обработки данного сообщения


 private
   { Private declarations }
   procedure WMGETMINMAXINFO (var Msg:TWMGETMINMAXINFO); message WM_GETMINMAXINFO;
 

В области реализации (implementation) её нужно описать так:


 procedure TForm1.WMGetMinMaxInfo(var Msg:TWMGetMinMaxInfo);
 begin
   with Msg.MinMaxInfo^ do
   begin
     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;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS