Einzelnen Beitrag anzeigen

Buddelflink

Registriert seit: 19. Mai 2003
7 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [StringGrid] berechnen d. Zellenbreite nach resize

  Alt 7. Feb 2007, 11:48
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;
Miniaturansicht angehängter Grafiken
stringgrid_994.png  
Dank & Gruss
  Mit Zitat antworten Zitat