Советы по 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^ dobeginptmaxposition.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]

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