TForm Maximized предыдущие позиция и размер форм

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
S_Gur
постоялец
Сообщения: 133
Зарегистрирован: 30.12.2018 21:17:42

TForm Maximized предыдущие позиция и размер форм

Сообщение S_Gur »

Всем доброго времени суток. Появился такой вопрос: если сделать форме состояние Maximized, а потом снова вернуть Normal, форма приобретает те же самые позицию и размеры, которые были до максимизации. Никто не в курсе, как можно вытащить эти данные в то время, пока форма находится в состоянии Maximized?
LearnMagic
новенький
Сообщения: 66
Зарегистрирован: 10.11.2016 22:13:38

Сообщение LearnMagic »

Если для Windows, то

Код: Выделить всё

var
  wPlacement: TWindowPlacement;
  wRect: TRect;
  wTop, wLeft: Integer;
begin
    // получение информации об окне
    wPlacement.Length := SizeOf(wPlacement);
    if GetWindowPlacement(TCustomForm(Owner).Handle, @wPlacement) then begin
      wRect := TCustomForm(Owner).ClientRect; // Left == Right == 0
      // позиция окна
      wTop := wPlacement.rcNormalPosition.Top;
      wLeft := wPlacement.rcNormalPosition.Left;
   end;
end;
S_Gur
постоялец
Сообщения: 133
Зарегистрирован: 30.12.2018 21:17:42

Сообщение S_Gur »

Спасибо большое. Хотелось бы, конечно, универсальный метод, но и это сойдет - обвешаю ключами компиляции для разных операционок
Ответить