Einzelnen Beitrag anzeigen

messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Canvas Handle eines TChart ändert sich

  Alt 12. Apr 2007, 14:34
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 mitPrintCanvas.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
  Mit Zitat antworten Zitat