Обработка запроса на максимальное раскрытие окна
Мне необходимо иметь в приложении форму, раскрывающуюся при
нажатии на кнопку "Открыть на весь экран" только в половину экрана, а не на
полный экран.
Вам необходимо обработать из вашей формы сообщение 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;
|
|