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

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

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

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

Сообщение S_Gur » 12.04.2020 23:26:35

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

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

Сообщение LearnMagic » 11.05.2020 16:06:00

Если для 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;
LearnMagic
новенький
 
Сообщения: 66
Зарегистрирован: 10.11.2016 23:13:38

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

Сообщение S_Gur » 12.05.2020 00:19:21

Спасибо большое. Хотелось бы, конечно, универсальный метод, но и это сойдет - обвешаю ключами компиляции для разных операционок
S_Gur
новенький
 
Сообщения: 74
Зарегистрирован: 30.12.2018 22:17:42


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 10

Рейтинг@Mail.ru