Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Frames und StringGrids an Fenstergröße ausrichten (https://www.delphipraxis.net/151290-frames-und-stringgrids-fenstergroesse-ausrichten.html)

Ykcim 11. Mai 2010 16:11


Frames und StringGrids an Fenstergröße ausrichten
 
Hallo Zusammen,

ich habe zu meinem Problem leider noch keine Lösung durch suchen gefunden, daher poste ich es jetzt.

Ich habe ein kleines Programm, in dem ich via PageControl einige Registrierkarten habe. Diese sind unsichtbar und werden über das Programm gesteuert, da sie alle unterschiedliche Module des Programms enthalten und nicht für jedermann freigeschaltet sind.

In den einzelnen Registrierkarten habe ich, wie gerade bereits erwähnt verschiedene Module mit Hilfe von Frames platziert. Und in diesen Frames sind einige StringGrids, in denen Daten angezeigt werden, die aus einem SQL-Server abgerufen werden.

Das klappt bis hierhin wunderbar.

Jetzt gibt es aber Anwender, die in Windows die große Schrift eingestellt haben, sodass nicht alle Daten in den StringGrids ordentlich angezeigt werden. Jedoch wäre im Vollbild je nach Bildschirmauflösung Platz da, um die StringGrids größer zu machen. Da aber nicht jeder die gleiche Auflösung benutztt, kann ich das nicht voreinstellen.

Und jetzt endlich zu meiner Frage:

Wie kann ich es erreichen, dass sowohl die Darstellung der Frames, als auch die Darstellung der StringGrid in Abhängigkeit von der Fenstergröße angezeigt werden und das die Spalten der StringGrids ebenfalls prozentual ihre Größe verändern?

Ist das verständlich ausgedrückt oder muss ich nachbessern?

Vielen Dank für die Hilfe

Ykcim

taaktaak 11. Mai 2010 16:50

Re: Frames und StringGrids an Fenstergröße ausrichten
 
Moin, Moin.

Tja, also wenn ich dass jetzt richtig verstanden habe, folgende Lösungsideen:

Vorausgesetzt auf jeder Seite deines PageControls ist ein Frame placiert, der dann die speziellen Controls enthält: Dann muss die Frame-Eigenschaft ALIGN auf alClient gesetzt werden - damit ist der Frame immer so groß wie die Seite des PageControls. Das Pagecontrol selbst muss bei Änderung der Fenstergröße dann ebenfalls angepasst werden - wie dass zu realisieren ist, hängt von den Rahmenbedingungen ab: Ist auf dem Form NUR das PageControl, genügt auch hier, das ALIGN des PageControls auf alClient zu setzen. Sind noch andere Controls auf dem Form, helfen z.B. mehrere Panels als "Unterlagen", deren Align oder Anchors passend gesetzt werden. Bleibt noch das Stringgrid innerhalb des Frames: Hier werden die Spaltenbreiten nach Programmstart auf die aktuelle Framebreite angepasst, zusätzlich muss dann z.B. im OnResize() des Frames eine laufende Anpassung der Spaltenbreiten erfolgen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz