'Print text (by the default printer) 
'as it appears in QRichEdit:
'font, color, size, italic, bold, ...
'Very easy and very effective. 
'By Stefaan Vermuyten
'February 1, 2003
'mail: stefaanvermuyten@hotmail.com

$APPTYPE GUI
$Include "Rapidq.inc"
DECLARE SUB FontClick
DECLARE SUB PrintClick
DECLARE SUB ResizeClick
DIM font1 AS QFont
DIM FontDialog AS QFontDialog

CREATE form AS Qform
    Caption = "Print QRichEdit"
    Width = 640
    Height = 480
    ONResize = ResizeClick      
    Center  
    CREATE MainMenu AS QMainMenu
           CREATE FontMenu AS QMenuItem
                  Caption = "Font" 
                  OnClick = FontClick       
           END CREATE
           CREATE PrintItem AS QMenuItem
                  Caption = "Print"
                  OnClick = PrintClick
           END CREATE 
    END CREATE        
    CREATE RichEdit AS QRICHEDIT
        Left = 0
        Top = 0
        Width = Form.ClientWidth
        Height = Form.ClientHeight 
        ScrollBars = ssVertical            
        Font = font1       
     END CREATE    
END CREATE 

Form.ShowModal       

SUB FontClick
    FontDialog.GetFont(font1) 
      IF FontDialog.Execute THEN  
         FontDialog.SetFont(font1) 
         RichEdit.Font = font1
      END IF
END SUB

SUB PrintClick
    Printer.font = font1
    LPrint RichEdit.Text
    LFlush
END SUB

SUB ResizeClick
    RichEdit.Width = Form.ClientWidth
    RichEdit.Height = Form.ClientHeight         
END SUB    