Ich bin dabei einen kleinen Kalender zu programmieren.
Für die einzelnen Tage benutze ich die Komponente "StringGrid" die mit Align=alClient Flächendeckend auf der Form liegt.
Ich möchte erreichen das wenn ich die Größe der Form ändere, sich auch die Größe der einzelnen Zellen des StringGrid ändert, damit keine weißen Flächen auf der Form sind, oder ScrollBars erscheinen wenn die Form kleiner gemacht wird.
Für die Breite der Zellen habe ich das soweit geschafft, nur die Anpassung der Höhe macht mir schwierigkeiten.
Hat jemand eine Idee wie ich das sauber lösen kann?
Gruß
Michael
Code: Alles auswählen
procedure TForm1.FormResize(Sender: TObject);
begin
// Breite
StringGrid1.ColWidths[0] := Form1.Width div 12;
StringGrid1.ColWidths[1] := Form1.Width div 12;
StringGrid1.ColWidths[2] := Form1.Width div 12;
StringGrid1.ColWidths[3] := Form1.Width div 12;
StringGrid1.ColWidths[4] := Form1.Width div 12;
StringGrid1.ColWidths[5] := Form1.Width div 12;
StringGrid1.ColWidths[6] := Form1.Width div 12;
StringGrid1.ColWidths[7] := Form1.Width div 12;
StringGrid1.ColWidths[8] := Form1.Width div 12;
StringGrid1.ColWidths[9] := Form1.Width div 12;
StringGrid1.ColWidths[10] := Form1.Width div 12;
StringGrid1.ColWidths[11] := Form1.Width - (11 * (Form1.Width div 12) + 5 );
// Höhe ????
//StringGrid1.Font.Height:=(StringGrid1.Height div 47)+2 ; // es gibt nicht so viele Font-Größen das es fließend geht
StringGrid1.RowHeights[StringGrid1.Height div 32];
statusbar1.SimpleText:='div: '+inttostr(StringGrid1.Height div 32);
end;