"namolny" resize

DE
  • Rejestracja: dni
  • Ostatnio: dni
0

W moim programie zachodzi potrzeba zmieniania rozmiarów formy (TForm) z poziomu kodu. Robię to w metodzie FrameResize podstawiając do właściwści Width i Height odpowiednie wartości. Niestety zmiana taka wywołuje ponownie wygenerowanie wydarzenia typu "resize" i następuje sprzężenie zwortne.
Pytanie: jak zmieniac rozmiar formy, uniknając podobnego sprzezenia? Czy jest jakas ogólna metodoogia radzenia sobie z podobnymi problemami?

cimak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1668
0

jak zmieniasz rozmiar formy to wywolywane jest zdarzenie onresize... ale po co Ty w tym zdarzeniu jeszcze raz zmieniasz rozmiar?
jesli chodzi Ci o zablokowanie mozliwosci zmiany rozmiaru (lub okreslenie wartosci max/min) to uzyj form1.Constraints.
mozesz tez przechwytywac komunikaty WM_SIZING.

DE
  • Rejestracja: dni
  • Ostatnio: dni
0

Problem leży w tym, że wymiary formy nie dają się zmieniac z zewnątrz. Np. podstawienia from1.Width:=180 oraz form1.Height:=300, które próbowałem robic w metodzie 'OnResize' okna nadrzędnego ("parenta") nie są skuteczne. Innymi słowy, z jakiegoś powodu wymiary formy są zabezpieczone przed ich możliwością zmiany z poziomu kodu, a odblokowywane jedynie w jej metodzie 'FormResize'.

Grzegorz16
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 56
0

A nie zrobiłeś czasem dla formy AutoSize na True? xD
Obsługa Komunikatów

DE
  • Rejestracja: dni
  • Ostatnio: dni
0

'Auto size' formy jest na false.

cimak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1668
0

wiec chyba cos gdzies musisz miec dziwnie ustawione...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.