Hallo,
ich habe einen zur Laufzeit erzeugten TChart, den ich ausdrucken möchte. Weil TChart leider kein
Unicode kann, muss ich ein Textfeld nachträglich auf das TChart.Canvas zeichnen. Das geht leider nur in OnAfterDraw des TCharts und da mit DrawTextW.
Das Problem ist, daß das
Handle offensichtlich seine Referenz verliert oder diese erneuert wird. Jedenfalls drucke ich den Chart aufs Papier mit
PrintCanvas.Draw(0,0,graph.TeeCreateMetafile(false,rect));
und dadurch wird OnAfterDraw nochmals ausgelöst. Jedenfalls landet mein Textfeld dann auf dem Printer.Canvas statt auf dem Chart, das
Handle hat sich auch geändert.
Mir schwant irgendwie, daß OnAfterDraw erst aufgerufen wird, wenn die Übergabe an den Printer.Canvas erledigt ist. Aber dann wundert mich, daß ich etwas auf dem Printer bekomme.
Hat jemand eine Idee, wie ich das lösen kann?
Danke, Messie