Zitat von
Hansa:
Thx Christian,
1. ich kriege keine 2 Zeilen in die doppelt hohen Zellen. Das war eigentlich der Sinn des Ganzen.
z.B drawtext verwenden (DT_wordbreak), wenn es ein ganzer Satz ist. wenn es immer 2 Zeilen sein müssen geht auch das manuelle ausgeben per textout (jede Zeile einzeln).
Zitat:
2. Du legst die Spaltenhöhe bereits im FormCreate fest. Vielleicht flackert es auch deshalb nicht. Wo soll ich das am besten hinmachen, wenn die Zeilenhöhe erst zur Laufzeit feststeht ?
das ist doch völlig egal, wo du das tust. Es ist aber sicherlich performanter, wenn du die Zeilenhöhe nur änderst, wenn das notwendig ist (Spalte wurde verkleinert, oder ein anderer Text wurde eingeben.)
Zitat:
3. Du benutzt ja selber das OnDrawCell und nichts flackert, was jetzt ? bzw. wo geht das besser ?
weil Christian den Text nicht innerhalb der Ondrawcell setzt, dann wird der text wieder gezeichnet, dort änderst du wieder den text und es muß wieder neugzeichnet werden und das geht bis in alle ewigkeit so weiter. hat christian auch schon geschrieben:
Zitat von
christian Seehase:
Ausserdem solltest Du nicht im OnDrawCell einer Zelle einen Wert zuweisen, dann wird wieder neu gezeichnet.
Das flackert dann "so schön".
Zitat:
Zitat:
StringGrid1.RowCount:=StringGrid1.RowCount+1;
Das ist eine Endlosschleife.
Wieso das ?
weil du jedesmal, wenn ondrawcell aufgerufen wird, die eine Zeile hinzugefügt wird. versteh sowieso nicht, was du hier vorhast. 3x im grid gescrollt und der Nutzer hat ein haufen leere Zeilen im grid
.
Mfg Frank