Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - StringGrid - ColWidths automatisch


galagher - Sa 27.03.10 21:26
Titel: StringGrid - ColWidths automatisch
Hallo!
Ich möchte die Breite der letzten Spalte eines StringGrids an Form1.ClientWidth anpassen und habe ich folgenden Code in der Resize-Prozedur:

Delphi-Quelltext
1:
2:
3:
4:
5:
 StringGrid1.ColWidths[7] :=
  ClientWidth-StringGrid1.ColWidths[0]-
   StringGrid1.ColWidths[1]-StringGrid1.ColWidths[2]-
    StringGrid1.ColWidths[3]-StringGrid1.ColWidths[4]-
     StringGrid1.ColWidths[5]-StringGrid1.ColWidths[6]-12;

Das funktioniert zwar, aber es das StringGrid flackert, wenn man die Grösse von Form1 ändert, und Doublebuffered := True nützt nichts.

Wie kann ich das besser machen?


Tryer - So 28.03.10 03:52

Du kannst StringGrid.DoubleBuffered an Stelle von Form.DoubleBuffered setzen.

Zudem würde ich eine Mindestbreite vorgeben damit die Spalte nicht ganz verschwindet, und dann lieber die Scrollbars erscheinen lassen: Math.Max(MyMinWidth, YourRechnung);

Grüsse, Dirk


galagher - So 28.03.10 08:29

user profile iconTryer hat folgendes geschrieben Zum zitierten Posting springen:
Du kannst StringGrid.DoubleBuffered an Stelle von Form.DoubleBuffered setzen.
Ich bin sicher, dass ich das doch gestern erfolglos getestet habe... :? Jedenfalls funktioniert es jetzt damit! Danke!