Ciao,
prova così. Tempo fa ho letto questa soluzione ma mai provata non avendo un OCX che accetta un handle.
Crea un oggetto PrintDocument, e specifica la stampante esempio:
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = printer;
chiama il metodo Print() , scatterà l'evento OnPrintPage che avrà un'istanza di PrintPageEventArgs.
A sua volta PrintPageEventArgs, ha una proprietà Graphics che ha un metodo GetHdc(). Prova a recuperarlo così e a passarlo all'OCX. Se non funzionasse dovrai riscrivere in altro modo la parte di printing dell'OCX o farla direttamente in .NET.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/