Danke, das löst schon mal der erste Problem.
Leider bekomme ich so
Delphi-Quellcode:
var
MyRTF: TRichEdit;
img: HDC;
begin
self.FArbeitenBitmap.Height:=Height;
self.FArbeitenBitmap.Width:=Width;
MyRTF:=TRichEdit.CreateParented(HWND_MESSAGE);
MyRTF.Width:=Width;
MyRTF.Height:=Height;
Self.FArbeiten.Position:=0;
MyRTF.Lines.LoadFromStream(self.FArbeiten);
Self.FArbeitenBitmap.Canvas.Lock;
try
myRTF.Perform(WM_PRINT, Self.FArbeitenBitmap.Canvas.Handle, PRF_CLIENT);
//you can trying to change PRF_CLIENT with
//PRF_CHILDREN or PRF_CLIENT or PRF_NONCLIENT or PRF_ERASEBKGND
//or combine them. See what happen...
finally
Self.FArbeitenBitmap.Canvas.Unlock
end;
nur eine weiße Bitmap zurück.
Dann habe ich es noch mal so
Delphi-Quellcode:
var
MyRTF: TRichEdit;
img: HDC;
begin
self.FArbeitenBitmap.Height:=Height;
self.FArbeitenBitmap.Width:=Width;
MyRTF:=TRichEdit.CreateParented(HWND_MESSAGE);
MyRTF.Width:=Width;
MyRTF.Height:=Height;
Self.FArbeiten.Position:=0;
MyRTF.Lines.LoadFromStream(self.FArbeiten);
img := GetDC(MyRTF.Handle);
BitBlt(Self.FArbeitenBitmap.Canvas.Handle,
0, 0, MyRTF.Width, MyRTF.Height,
img, 0, 0,
SRCCOPY
);
versucht, bekomme aber eine schwarze Bitmap.
Im Stream ist aber definitiv das richtige drin, den wenn ich mir das in ein Richedit lade, dass auf der Form liegt, wird es korrekt angezeigt.
Hast du da auch noch einen Tipp? Geht das so, außerhalb einer Form, überhaupt?