在 Visual FoxPro 报表中应用富文本效果
本文介绍如何在包含格式文本格式的表中为字段部分添加下划线,并在报表上显示该格式。
原始产品版本: Visual FoxPro
原始 KB 编号: 246088
摘要
最好是能够向 Visual FoxPro 报表中的单个字词添加格式效果。 这可以通过 Visual FoxPro 报表上的 Rtf ActiveX 控件、常规字段和 OLE 绑定控件来实现。
更多信息
此示例演示如何对表中字段的一部分添加下划线并在报表上显示该格式。 可以对示例应用格式文本中可能的任何效果或效果组合。
打开 Visual FoxPro 并创建新报表。
将 Picture/Active-X 绑定控件添加到报表的详细信息区段。 将其 FIELD 属性设置为 Dcolor.gcolor。
将报表另存为 rtfDemo。
将以下代码粘贴到新程序中。 将该程序与报表保存在同一目录中,然后运行它。
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
打印报表时,文本中的颜色带有下划线。
注意
在某些情况下,RTF 格式文本的打印预览看起来不正确。 但是,打印字符串时,输出的格式正确。
提示
若要生成类似于上述代码中的字符串,请在写字板 (或其他能够创建富文本文件) 的应用程序中创建表达式模板。 为文本添加下划线、着色并应用任何其他格式,然后将其保存到 。RTF 文件。 打开 。 记事本中的 RTF 文件,并将格式文本代码复制/粘贴到 Visual FoxPro 程序中。
(此应用程序需要 RichTX32.OCX 控件。Visual FoxPro 3.0 和 3.0b 不随 RichTX32.OCX.)