[Delphi] Drukowanie RichEdit (pilne!!!)

0

Jak zrobić żeby został wydrukowany caly RichEdit?
Nie jego zawartość tylko cały(RichEdit-prostokąt) RichEdit o wymiarach takich jak w programie, o takim tle itd.???

0

RichEdit1.PaintTo(Printer.Canvas, 0, 0);

0

Ta procedura wywołuje błąd:
[Error] Unit1.pas(53): Incompatible types: 'HDC' and 'TCanvas'
Co zrobić ??

0

RichEdit1.PaintTo(Printer.Canvas, 0, 0);

RichEdit1.PaintTo(Printer.Canvas.Handle, 0, 0);
Pewno tak.

0

RichEdit1.PaintTo(Printer.Canvas.Handle, 0, 0);
To działa, tylko nie drukuje zawartości RichEdit(textu). A kwadrat czy tam prostokąt nie ma takich wymiarów jak na w programie.
Więc jak zrobić??

0

Wobec tego prostokąt z tekstem (ale bez ramki) to:

var
U: HDC;
Can: TCanvas;
begin
U := GetDC(RichEdit1.Handle);
Can := TCanvas.Create;
Can.Handle := U;
Canvas.CopyRect(RichEdit1.ClientRect, Can, RichEdit1.ClientRect);
Can.Free;
end;

A jeżeli chcesz i ramkę i prostokąt to połącz dwa rozwiązania jakie podałem.

0

No niby działa. Tylko ja chciałem żeby to sie drukowało, a nie pojawiało się na formie. I gdzie sie zmienia współrzędne ?? To sie pojawia w lewym górnym rogu(0, 0)!

1 użytkowników online, w tym zalogowanych: 0, gości: 1