Printing From The RichText Control

Printing From The RichText Control

The on-line documentation on using the RichText control to print tellshow it is supposed to work. It does not mention two basic problems. First,the RichText control doesn’t work with the common dialog hDC. Second, toskip the error generated when using the Printer object hDC, you must useOn Error Resume Next. These code fragments show how to print properly from the RichText control:

 On error resume nextprinter.print ""richtext.selprint printer.hdcprinter.enddoc

This wrapper function uses both the CommonDialog control and the Printerobject:

 Function FilePrintDlgProc(rprnDlg As _	CommonDialog, rRTF As _	RichTextBox) As Boolean	On Local Error GoTo Error_Handler:	With rprnDlg		.CancelError = True		.Flags = cdlPDReturnDC + cdlPDNoPageNums		If rRTF.SelLength = 0 Then			.Flags = .Flags + cdlPDAllPages		Else			.Flags = .Flags + cdlPDSelection		End If		.ShowPrinter		On Local Error Resume Next		Printer.Print ""		rRTF.SelPrint Printer.hDC		Printer.EndDoc		FilePrintDlgProc = True		End With		Exit FunctionError_Handler:	If Err  cdlCancel Then		MsgBox "Error " & Err & "; " & Error	End IfEnd Function


Share the Post: