KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q246088: HOWTO: Apply RichText Effect in VFP Reports

Article: Q246088
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0,3.0b,5.0,5.0a,6.0
Operating System(s): 
Keyword(s): kbActiveX kbReportWriter kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600 kbGrpDSFox
Last Modified: 06-DEC-2000

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 5.0a, 6.0, on platform(s):
   - the operating system: Microsoft Windows NT 
   - the operating system: Microsoft Windows 95 
   - the operating system: Microsoft Windows 98 
-------------------------------------------------------------------------------

SUMMARY
=======

From time to time it would be good to have the ability to add formatting effects
to individual words within Microsoft Visual FoxPro reports. This can be
accomplished with the Rich Text ActiveX control, a general field and a OLE bound
control on a Visual FoxPro report.

MORE INFORMATION
================

This example shows how to underline parts of a field from a table and display
that formatting on a report. You can apply any effect or combination of effects
possible in Rich Text to your example.

1. Open Visual FoxPro and create a new report.

2. Add a Picture/Active-X Bound Control to the detail band of the report. Set
  its FIELD property to "Dcolor.gcolor" (without the quotation marks).

3. Save the report as "rtfDemo" (without the quotation marks).

4. Paste the following code into a new program. Save that program in the same
  directory as the report, then run it.

  CLOSE ALL
  CLEAR ALL
  tSafety = SET("safety") &&Store SET status of Safety to a variable
  SET SAFETY OFF &&Check to see if the Dcolor table exists
  IF FILE("dcolor.dbf")
  	USE dcolor EXCLUSIVE
  ELSE
  	CREATE TABLE dcolor (dcolor c(20),gcolor g) &&Create and add records if DColor table doesn't exist
  	INSERT INTO dcolor (dcolor) VALUES ("Red")
  	INSERT INTO dcolor (dcolor) VALUES ("Green")
  	INSERT INTO dcolor (dcolor) VALUES ("Blue")
  	INSERT INTO dcolor (dcolor) VALUES ("Purple")
  	INSERT INTO dcolor (dcolor) VALUES ("Orange")
  	INSERT INTO dcolor (dcolor) VALUES ("Yellow")
  ENDIF
  _rtfFile = SYS(3)+".rtf" &&Create a legal file name with a .RTF extension
  *NOTE: The file must have a .RTF extension to work properly
  SCAN &&Create a Richtext OLE bound control in the general field of the dColor table
  	SET TEXTMERGE TO &_rtfFile NOSHOW
  	SET TEXTMERGE ON 
  	*!!IMPORTANT!! The following richtext formatting line(s) need to be 
           *included as one line in your program.
           \\{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl
           {\f0\fnil\fcharset0 Times New Roman;}}\viewkind4\uc1\pard\f0\fs20
            The big \ul <<ALLT(dcolor.dcolor)>>\ulnone  dog\par}
  	SET TEXTMERGE TO
  	APPEND GENERAL gcolor FROM &_rtfFile CLASS "RICHTEXT.RICHTEXTCTRL.1"
  ENDSCAN
  SET SAFETY &tSafety
  ERASE &_rtfFile

  REPORT FORM rtfdemo PREVIEW NOCONSOLE
  USE
  CLOSE ALL

When the report is printed, the color is underlined in the text.

NOTE: In some cases the print preview of RTF formatted text does not look
correct. However, when the string is printed, the output is formatted correctly
.

TIP: To generate a string similar to the one in the above code, create a template
for your expression in Microsoft WordPad (or other application capable of
creating Rich Text Files). Underline, color, and apply any other formatting to
your text, then save it to a .RTF file. Open the .RTF file in Notepad and
copy/paste the Rich Text code into your Visual FoxPro program.

(This application requires the RichTX32.OCX control. Visual FoxPro 3.0 and 3.0b
do not ship with RichTX32.OCX.)

Additional query words:

======================================================================
Keywords          : kbActiveX kbReportWriter kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600 kbGrpDSFox 
Technology        : kbVFPsearch kbAudDeveloper
Version           : WINDOWS:3.0,3.0b,5.0,5.0a,6.0
Issue type        : kbhowto

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.