Quick & very dirty:
Delphi-Quelltext
1: 2: 3:
| Memo1.BorderStyle:=bsNone; Memo1.PaintTo(Image1.Canvas,50,50); Memo1.BorderStyle:=bsSingle; |
Besser wäre es, wenn du Zeile für Zeile durchgehst und dann jede einzeln mit TextOut zeichnen würdest. Dann musst du aber auch die Tabulatoren einzeln behandeln. Ist gar nicht so schwierig. Falls Bedarf besteht, setz ich mich nachher nochmal ran...
Gruß,
maxk
// Edit: Mir war furchtbar langweilig

Hier ist der Code. Allerdings wird der grafisch evtl. etwas anders aussehen, als gewohnt. Man kann einfach nicht alles berücksichtigen... Wieviele Zeichen ein Tabulator hat und wo angefangen werden soll zu zeichnen kannst du angeben!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var i,y:integer; begin y:=50; for i:=0 to Memo1.Lines.Count-1 do begin Image1.Canvas.TextOut(50,y,StringReplace(Memo1.Lines[i],#9,StringOfChar(' ',8),[rfReplaceAll])); Inc(y,Image.1Canvas.TextHeight(Memo1.Lines[i])); end; |
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.