Hallo Lannes.
funktioniert Super. Danke
Mit
StringGrid.ClientWidth
hatte ich es auch schon versucht, allerdings hatte mich die Hilfe ein wenig verwirrt
Zitat:
OH
Mit ClientWidth können Sie die Breite des Client-Bereichs des Steuerelements abrufen oder ändern. ClientWidth ist mit ClientRect.Right identisch.
Bei TControl entspricht ClientWidth der Eigenschaft Width. In abgeleiteten Klassen kann eine ClientWidth-Eigenschaft implementiert werden, die sich von Width unterscheidet. So enthält beispielsweise die Eigenschaft ClientWidth eines Formulars den Wert der Eigenschaft Width minus der Breite des Rahmens und der Bildlaufleisten.
Bei Deinem Bsp. wurde die letzte Gitterlinie nicht angezeigt
, sprich es fehlte ein Pixel in der Berechnung. -> siehe Bild
Habs jetzt so gemacht
Delphi-Quellcode:
with JahresGrid do begin
// Höhe d. StringGridZellen
iFixCol:= 12;
DefaultRowHeight:= ((ClientHeight -iFixCol) div 12) -GridLineWidth;
Jahresgrid.RowHeights[0]:= (iFixCol -1 {warum?}) +(ClientHeight -iFixCol) mod 12;
// Breite d. Zellen
iFixCol:= 55;
DefaultColWidth:= ((ClientWidth -iFixCol) div 37) -GridLineWidth;
ColWidths[0]:= (iFixCol -1) +(ClientWidth -iFixCol) mod 37;
end;