Hallo,
ich würde gerne einen Text einer Graphik überlagern. Den beschriebenen Weg über RichEditToCanvas
http://www.delphipraxis.net/internal...chedittocanvas
Delphi-Quellcode:
procedure RichEditToCanvas(RichEdit: TJvRichEdit; Canvas: TCanvas; PixelsPerInch: Integer);
var
ImageCanvas: TCanvas;
fmt: TFormatRange;
begin
ImageCanvas := Canvas;
with fmt
do
begin
hdc := ImageCanvas.Handle;
hdcTarget := hdc;
// rect needs to be specified in twips (1/1440 inch) as unit
rc := Rect(0, 0,
ImageCanvas.ClipRect.Right * 1440
div PixelsPerInch,
ImageCanvas.ClipRect.Bottom * 1440
div PixelsPerInch);
rcPage := rc;
chrg.cpMin := 0;
chrg.cpMax := RichEdit.GetTextLen;
end;
SetBkMode(ImageCanvas.Handle, TRANSPARENT);
RichEdit.Perform(EM_FORMATRANGE, 1, Integer(@fmt));
// next call frees some cached data
RichEdit.Perform(EM_FORMATRANGE, 0, 0);
end;
bekomme ich nicht hin. Die Graphik wird durch den Inhalt von Richedit überschrieben wird (sprich Leerzeilen löschen das Image).
Ziel ist, den Hintergrund als Vorlage (Briefpapier) zu nutzen.
Die
Jedi RichEdit kann zwar die Graphik anzeigen, allerdings habe ich keine Möglichkeit gefunden, hier Text zu überlagern.
Hat jemand einen Tipp ?