Eingebettete Form verliert gesetzte Größe
23. Feb 2023, 09:30
Hallo,
in meiner Anwendung kann ein Formular wahlweise eigenständig oder in ein anderes Formular eingebettet dargestellt werden.
Nun habe ich das Problem, dass das Formular, wenn es vom Zustand „eigenständig“ zu „eingebettet“ wechseln soll (durch Benutzereingabe initiiert), es die aktuelle Größe verliert und es wieder seine Initialgröße annimmt.
Ich hoffe, man kann den Sachverhalt mit meinem Beispiel gut nachvollziehen (Die 3 Buttons der Reihe nach klicken).
Die Ursache für das Verhalten habe ich bereits lokalisiert: Die Felder FClientWidth und FClientHeight der TCustomForm beinhalten die Initialgröße aus dem Designer, bei Größenänderung über SetBounds ändern sie sich nicht und bei SetParent werden dann die beiden Felder verwendet, um die Größe des Formulars neu zu setzen.
Ich würde gerne verstehen, was es mit FClientWidth und FClientHeight der TCustomForm auf sich hat, und ob das von mir beschriebene Verhalten gewollt ist oder ein Fehlverhalten.
Danke euch.
|