Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Using the Selprint Method of a RichText Control
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Divers
Thread ID:
00199808
Message ID:
00200554
Vues:
14
Hi Jay,

>I need to use the selprint function of a RichText Control.

The following code works for me:
*==================================================
* Print the text of a RichText control
*==================================================
LParameter toRTF, tcPrinter, tcDoc
   
   *-----------------------------------------------
   * Declare some DLLs
   *-----------------------------------------------
   Declare Integer StartDoc in Win32Api ;
      Integer, String
   Declare Integer StartPage in Win32Api integer
   Declare integer EndPage in Win32Api integer
   Declare integer EndDoc in Win32Api integer
   Declare Integer CreateDC in Win32Api ;
      String, String, Integer, Integer
   Declare Integer DeleteDC in Win32Api Integer
   Declare Integer HeapCreate in Win32Api ;
      Integer, Integer, Integer
   Declare Integer HeapDestroy in Win32Api Integer
   Declare Integer HeapAlloc in Win32Api ;
      Integer, Integer, Integer
   Declare Integer HeapFree in Win32APi ;
      Integer, Integer, Integer
   Declare lstrcpy in Win32Api Integer, String
   
   *-----------------------------------------------
   * Choose a printer
   *-----------------------------------------------
   Local lcPrinter
   If PCount() < 2
      lcPrinter = GetPrinter()
   Else
      lcPrinter = tcPrinter
   Endif

   *-----------------------------------------------
   * Print
   *-----------------------------------------------
   Local lnHeap, lnDoc, lcStruct, lnHDC
   If not Empty( lcPrinter )
        lnHDC = CreateDC("WINSPOOL",lcPrinter,0,0)
      lnHeap = HeapCreate(0, 8192, 8192)
      lnDoc = HeapAlloc( lnHeap, 0, Len(tcDoc)+1 )
      lstrcpy( lnDoc, tcDoc )
      lcStruct = ToInt(12)+ToInt(lnDoc)+ToInt(0)
      StartDoc( lnHDC, lcStruct )
      StartPage( lnHDC )
      toRTF.SelPrint( lnHDC )
      EndPage( lnHDC )   
      EndDoc( lnHDC )   
      DeleteDC( lnHDC )
      HeapFree(lnHeap, 0, lnDoc)
      HeapDestroy(lnHeap)
   Endif   

*==================================================
* Convert into an integer
*==================================================
Function ToInt
Parameter tnValue
    Private cString, nT
    cString =''
    For nT = 1 to 4
      cString = cString +Chr(tnValue%256)
      tnValue = Int(tnValue /256)
    Endfor
Return cString
Christof
--
Christof
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform