Link to home
Start Free TrialLog in
Avatar of aktis
aktis

asked on

Printing bitmaps with RichTextBox

The RichTextBox can display OLE objects and pictures but not print them. How can I print them?
ASKER CERTIFIED SOLUTION
Avatar of mrmick
mrmick

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of rantanen
rantanen

mrmick, what does that mean????

The only reasonable way I have found around this problem is to use OLE automation or ShellExecute to print the contents. Not very nice, but works.

An example:

' To forms general section
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

'Eg to a button
Private Sub btnPrint_Click()
    Dim RTFString As Object
    Dim lResult As Long
   
    ' Creates a file to receive the RTF information from the control.
    Open "C:\RTFText.rtf" For Output As 1
   
    ' Places the RTF information from the control into the file and
    ' closes the file.
    Print #1, RichTextBox1.TextRTF
    Close 1
   
    ' Opens the new file in program associated with rtf-extension and prints it.
    lResult = ShellExecute(Me.hwnd, "print", "c:\rtftext.rtf", "", "c:\", 0&)
End Sub

Avatar of aktis

ASKER

I have a rtf text and inside the text is a picture.
Sorry, I figured that out with rantanen's help... at the first glance, I thought you were using a RichTextBox control to display pictures.  Give rantanen's suggestion a try.