Du hast doch momentan irgendwo Code, der auf den Canvas einer PaintBox o.ä. malt. Den musst in eine Prozedur a la
MalDenGraphen(ACanvas: TCanvas)
verpacken. Diese Prozedur kannst du dann einmal als
MalDenGraphen(PaintBox.Canvas)
und einmal als
MalDenGraphen(Printer.Canvas)
aufrufen.
Edit: Roter Kasten? Haaaaalllllllo?