Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by messie,
27. Jun 2008
Wenn Dein Grid von oben nach unten gezeichnet wird, musst Du Rect nach oben vergrößern. Wenn Du immer eine genze Zeile geändert bekommst, kontrolliere mal die Options des Grid. Bei meinem Beispiel kann das Grid schonmal nicht editiert werden, es dient nur der Anzeige. Zusammengezeichnete Zellen zu markieren stelle ich mir wesentlich aufwändiger vor.
Grüße, Messie
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by messie,
26. Jun 2008
Also das mit dem rückwärts Zeichnen klappt gut! Sieht so aus, als würden leere Zellen im TStringGrid nicht, aber im TTntStringGrid immer gezeichnet.
Danke, Messie
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by messie,
25. Jun 2008
if (ARow = Index1) then
begin
if (ACol = 3) or (ACol = 8) then //Beschriftungsfelder
begin
with Sender as TTntStringGrid do
begin
s := Cells;
Rect.Right := Rect.Right + (Rect.Right - Rect.Left) * 3;
Canvas.FillRect(Rect);
DrawTextW(Canvas.Handle, PWideChar(s),Length(s),Rect,DT_CENTER or DT_VCenter);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by messie,
25. Jun 2008
Moin,
ich möchte Text in einem StringGrid über mehrere Zeilen zentrieren. Im OnDrawCell vergrößere ich das Rect und schreibe dann den Text ins neue Rect. Danach werden die nachfolgenden Zellen aber darüber gezeichnet, so dass mein Text weg ist.
Gibt es da einen Trick, wie das Zeichnen einzelner Zellen zu unterbinden ist oder gibt es dafür einen anderen Ansatz?
Danke, Messie