Советы по Delphi

         

Обработка запроса на максимальное раскрытие окна


Мне необходимо иметь в приложении форму, раскрывающуюся при нажатии на кнопку "Открыть на весь экран" только в половину экрана, а не на полный экран.

Вам необходимо обработать из вашей формы сообщение WM_GETMINMAXINFO.

Например, добавьте следующее объявление в защищенную (protected) секцию вашей формы (interface):

    procedure _WM_GETMINMAXINFO( var mmInfo : TWMGETMINMAXINFO );  message wm_GetMinMaxInfo;

и создайте обработчик этого сообщения следующим образом (TForm1, естественно, имя вашей формы):

   

procedure TForm1._WM_GETMINMAXINFO( var mmInfo : TWMGETMINMAXINFO );
begin
// устанавливаем позицию и размер вашей формы при ее максимальном раскрытии: with mmInfo.minmaxinfo^ do begin ptmaxposition.x := Screen.Width div 4; ptmaxposition.y := Screen.Height div 4;
ptmaxsize.x     := Screen.Width div 2; ptmaxsize.y     := Screen.Height div 2; end; end;
[000277]

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