Habe ich grad mal versucht...keine Änderung.
Folgende Code funktioniert auf dem Formular und liefert mir eine Bitmap siehe Anhang 1:
Delphi-Quellcode:
var
img: HDC;
begin
richedit1.Lines.LoadFromStream(t.Arbeiten);
t.ArbeitenBitmap.Height:=richedit1.Height;
t.ArbeitenBitmap.Width:=richedit1.Width;
img := GetDC(richedit1.Handle);
BitBlt(t.ArbeitenBitmap.Canvas.Handle,
0, 0, richedit1.Width, richedit1.Height,
img, 0, 0,
SRCCOPY
);
t.ArbeitenBitmap.SaveToFile(ExtractFilePath(Application.ExeName)+'arbeiten.bmp');
Und folgender Code im Object funktioniert nicht und liefert mir eine Bitmap siehe Anhang 2:
Delphi-Quellcode:
var
MyRTF: TRichEdit;
frm: TForm;
img: HDC;
begin
self.FArbeitenBitmap.Height:=Height;
self.FArbeitenBitmap.Width:=Width;
frm:=TForm.Create(Application);
try
//MyRTF:=TRichEdit.CreateParented(HWND_MESSAGE);
MyRTF:=TRichEdit.Create(frm);
Try
MyRTF.Parent:=frm;
MyRTF.Width:=Height;
MyRTF.Height:=Width;
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
);
finally
MyRTF.free;
End;
finally
frm.free;
end;
Sollte doch eigentlich gehen. Woran kann das liegen?
Man kann das zweite Bild unten leder nicht so richtig sehen, ist aber da. Ist halt komplett weiß
Das linke Bild ist Anhang 1 und das rechte ist Anhang 2.