Christian Bode
2004-11-17 23:13:23 UTC
Hallo,
ich übergebe einer Klassenfunktion das DC Handle eines Canvas. Die Funktion
speichert das Handle in einer seperaten Klassenvariable. Später weise ich
das Handle einem anderen Canvas-Object zu und zeichne auf den Canvas und
somit auf das eigentliche Formular. Das funktioniert aber nur, wenn ich
jedes Mal vor jedem Zeichnen erneut das Handle neu zuweise. Erledige ich das
bereits einmalig an anderer Stelle z.B. im Constructor funktioniert das
ganze schon nicht mehr.
Ich habe auch schon ein wenig mit CreateCompatibleDC und SelectObject herum
experimentiert, allerdings hat das auch irgendwie nicht funktioniert.
OnCreate()
NewCanvas := TCanvas.Create;
NewCanvas.Handle := Form1.Canvas.Handle;
OnIrgendwann
NewCanvas.Draw(10, 10, Image1.Picture.Bitmap);
OnDestroy()
NewCanvas.Free;
Danke für Eure Hilfe
Christian
ich übergebe einer Klassenfunktion das DC Handle eines Canvas. Die Funktion
speichert das Handle in einer seperaten Klassenvariable. Später weise ich
das Handle einem anderen Canvas-Object zu und zeichne auf den Canvas und
somit auf das eigentliche Formular. Das funktioniert aber nur, wenn ich
jedes Mal vor jedem Zeichnen erneut das Handle neu zuweise. Erledige ich das
bereits einmalig an anderer Stelle z.B. im Constructor funktioniert das
ganze schon nicht mehr.
Ich habe auch schon ein wenig mit CreateCompatibleDC und SelectObject herum
experimentiert, allerdings hat das auch irgendwie nicht funktioniert.
OnCreate()
NewCanvas := TCanvas.Create;
NewCanvas.Handle := Form1.Canvas.Handle;
OnIrgendwann
NewCanvas.Draw(10, 10, Image1.Picture.Bitmap);
OnDestroy()
NewCanvas.Free;
Danke für Eure Hilfe
Christian