Odczytanie rozmiaru formy z przed stanu wsMaximized.

0

Witam.

Jak w kodzie danego programu pisanego w Delphi odczytać parametry formy tj: Left, Top, Width, Height z przed wywołania

Form.WindowState=wsMaximized 

Nie chodzi mi o przechwytywanie komunikatów tylko pośredni albo bezpośredni dostęp do odczytu tych wartości. W końcu gdzieś ta informacja o normalnym rozmiarze okna jest zapamiętana.

Edit.
Doprecyzuję, że potrzebne jest to do przeskakiwania z formy na formę . Żeby nowo pokazująca się forma miała te "normalne" położenie i wielkość taka jak ta poprzednia.
Teraz robię tak:

  • przywracam starą formę do normalnej wielkości,
  • odczyt danych starej formy,
  • nadanie nowej ukrytej jeszcze formie,
  • pokazywanie nowej,
  • ukrywanie starej.
    W tej sytuacji jest ten efekt migotania form, którego chciałbym się pozbyć.
1

Nie ma chyba innej możliwości niż w ten sposób:

  Caption := IntToStr(Width);
  WindowState := wsMaximized;

Bo po tej zmianie state, jak wiadomo na logikę, koordynaty formatki się zmieniają.
Ewentualnie takie coś w OnCreate albo gdzie indziej, chociaż to przekombinowane nieco:

  WindowState := wsMaximized;
  WindowState := wsNormal;
  Caption := IntToStr(Width);
  WindowState := wsMaximized;

Ponieważ będzie przez chwilę widać zmienianie rozmiaru formatki.
Może ktoś jeszcze tutaj Tobie coś lepszego doradzi w tym temacie.

1

@Integers - najprościej to po prostu trzymać sobie te dane np. w zmiennej typu TRect; Dane z rekordu aktualizować podczas przesuwania czy rozciągania formularza - są od tego odpowiednie zdarzenia czy komunikaty; Nie ma sensu kombinować nie wiadomo jak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1