Apply rich text effects in Visual FoxPro reports
This article describes how to underline parts of a field from a table that contains rich text formatting and display that formatting on a report.
Original product version: Visual FoxPro
Original KB number: 246088
Summary
From time to time, it would be good to have the ability to add formatting effects to individual words within Visual FoxPro reports. This can be accomplished with the Rich Text ActiveX control, a general field and an 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.
Open Visual FoxPro and create a new report.
Add a Picture/Active-X Bound Control to the detail band of the report. Set its FIELD property to Dcolor.gcolor.
Save the report as rtfDemo.
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 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.)