Einzelnen Beitrag anzeigen

Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

TStringGrid. Zeilenumbruch. Langer Text, wie #13#10 einfügen

  Alt 25. Jun 2009, 13:56
Servus,

ich möchte gerne das wenn der Text die Länge von Zelle 3 überschreitet ein Zeilenumbruch eingefügt wird.
Jetzt habe ich mal geschaut wie ich einen Zeilenumbruch hinbekomme, das ist kein Problem.

Nur der Text macht mir ein wenig gedanken, weil ich nicht weis wie ich es umsetzen kann.
So sieht es zur zeit in der Draw Methode aus
Delphi-Quellcode:
      if ACol = 3 then
      begin
        if length(CellText) > sgMonitor.ColWidths[3] then
        begin
          Insert(#13#10,CellText,sgMonitor.ColWidths[3]-1);
          RowHeights[ARow] := DefaultRowHeight * 2;
        end;
        DrawText(canvas.Handle, PChar(CellText), Length(CellText), Rect, DT_left+DT_Vcenter);
      end else
        Canvas.TextOut(rect.left,rect.top+1,cells[acol,arow])
Aber jetzt mache ich ja nur einen Zeilenumbruch, was ist aber wenn die zweite Zeile auch zu lang ist dann brauche ich noch einen umbruch.

Hatte mit das irgend wie so gedacht.
Zitat:
Lange = RichtigeLangeVomText(Text);
solange wie textzelle <> ''
begin
liste.add(copy(textzelle,1,LangeZelle))
delete(textzelle,1,LangeZelle)
end;
dann kann es aber auch passieren das mitten im Text ein Zeilenumbruch eingefügt werden...
Habt ihr vielleicht ne Idee...

Mfg
  Mit Zitat antworten Zitat