![]() |
Stringgrid / Form - Geometrie
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
folgendes : Form, auf der liegen 3 Panele Oben, Mitte, Unten. auf dem mittleren Panel ist ein Stringgrid und auf dem unteren sollen in ein paar Labels Summen stehen. Und zwar rechts unter der rechtesten Spalte des Stringgrids. Bündig mit dieser Spalte. Es ist jetzt kein großes Problem da solange rumzufummeln bis es passt. Aber ich brauche das des öfteren und die Größenverhältnisse werden erst zur Laufzeit festgelegt. D.h. über das Stringgrid wird die Größe der Form gesteuert etc. Auch die Spaltenanzahl und -breite wird erst anhand der anzuzeigenden Daten angepasst. Try and Error ist mir deshalb dann doch zu langwierig. :mrgreen: Am besten mal Bild im Anhang ansehen. Unten die Labels, die sollen rechts da enden, wo die Zahlen der rechtesten Spalte auch enden. P.S.: Geschmiere auf dem Bild war nur ein gescheiterter Versuch. Kriegs nicht so richtig hin. :mrgreen: |
Re: Stringgrid / Form - Geometrie
Moin Hansa.
Denkansatz: Die Label mit TextAlign=right und Autosize=false auf ein (unsichtbares) Panel und dort korrekt placieren. Das Panel dann zur Laufzeit in Bezug auf Gridgröße (Left+Width-Scrollbarbreite) positionieren. |
Re: Stringgrid / Form - Geometrie
autosize auch auf true, und align auf right
dann klebt das ganze am rechten rand deines pannels ... :-) ggf. kannst noch ein, zwei pixel einrücken ... ;-) |
Re: Stringgrid / Form - Geometrie
Hihi, da hab ich doch Align und Alignment durcheinandergebracht/vergessen :oops:
|
Re: Stringgrid / Form - Geometrie
denke textalign auf right ist schon in ordnung, sonst darf hansa den text bei autosize false mit der hand ausrichten ... :-)
ist zwar kein problem für ihn, aber so sollt es doch 'n bischen bequemer sein ;-) |
Re: Stringgrid / Form - Geometrie
Beziehen sich die Antworten hierauf ?
Zitat:
|
Re: Stringgrid / Form - Geometrie
Alignment = taRightJustify und einmal da hinschieben, fertig.
Tipp: Label etwas größer ziehen, dann kann man das besser sehen. Edit: Hier noch ein Hinweis...
Delphi-Quellcode:
if (GetWindowlong(Stringgrid.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 then
ShowMessage('Vertikale Scrollbar ist sichtbar'); |
Re: Stringgrid / Form - Geometrie
Hallo Hansa,
schau mal in der Hilfe bei GetSystemMetrics. Dort finden sich einige Maße von Scrollbars usw. Ich verwende für sowas keine TLabel sondern ein THeaderControl mit entsprechend eingestellten THeaderSections. Das kann man per Hand aber auch dynamisch nach Form-Größe machen. mfg ConstantGardener |
Re: Stringgrid / Form - Geometrie
Zitat:
|
Re: Stringgrid / Form - Geometrie
Die Idee ist doch wasserdicht. Labels mit rechtsbündigem Text zur Designtime am rechten Rand des Grids ausrichten, Anker rechts setzen, und wann immer was im Grid geändert wird über die angegebene Methode prüfen ob eine Scrollbar angezeigt wird, und wenn ja die Labels um die über GetSystemMetrics ermittelte Größe für Scrollbars nach links rücken, bzw. nach rechts wenn die Scrollbar wieder ausgeblendet wird. Find ich simpel und elegant, zudem sehr generisch da es mit nicht-standard Scrollbars auch klappen wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz