Hallo.
Bin sonst nur als aktiver Leser hier im Forum und konnte bisher alle meine Fragen mit der Suchfunktion lösen! Diesmal stellt sich mir aber ein Problem das scheinbar noch niemanden interessiert hat
. Auch Google hat nix zu dem Thema.
Also, ich habe ein StringGrid und möchte bei resize die Spaltenbreite/höhe entsprechend berechnen.
Delphi-Quellcode:
procedure TForm_Jahrestest.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
var iZelle, iHeader: Integer;
begin
Resize:= true;
JahresGrid.DoubleBuffered:= true;
// Höhe d. StringGridZellen
iHeader:= 15; // mindesthöhe
iZelle:= (JahresGrid.Height -iHeader) div 12;
iHeader:= (JahresGrid.Height - (iZelle * 12));
JahresGrid.DefaultRowHeight:= iZelle; // iZelle -3 dann gehts
JahresGrid.RowHeights[0]:= iHeader;
// Breite d. Zellen
iHeader:= 55; // mindestbreite
iZelle:= ((JahresGrid.Width -iHeader) div 37);
iHeader:= (JahresGrid.Width -(iZelle * 37));
JahresGrid.DefaultColWidth:= iZelle;
JahresGrid.ColWidths[0]:= iHeader;
end;
Leider wird ein Teil der letzten Zelle(n) verdeckt.
Was zum Geier mache ich falsch? -> siehe Bild
Ich hoffe jemand weiss wie man das logisch berechnet?
PS: Hab jetzt nur den relevanten Code rauskopiert aber bei Bedarf kann ich das ganze Projekt auch posten.
Danke, Cornel