在 Visual FoxPro 报表中应用富文本效果

本文介绍如何在包含格式文本格式的表中为字段部分添加下划线,并在报表上显示该格式。

原始产品版本: Visual FoxPro
原始 KB 编号: 246088

摘要

最好是能够向 Visual FoxPro 报表中的单个字词添加格式效果。 这可以通过 Visual FoxPro 报表上的 Rtf ActiveX 控件、常规字段和 OLE 绑定控件来实现。

更多信息

此示例演示如何对表中字段的一部分添加下划线并在报表上显示该格式。 可以对示例应用格式文本中可能的任何效果或效果组合。

  1. 打开 Visual FoxPro 并创建新报表。

  2. Picture/Active-X 绑定控件添加到报表的详细信息区段。 将其 FIELD 属性设置为 Dcolor.gcolor

  3. 将报表另存为 rtfDemo

  4. 将以下代码粘贴到新程序中。 将该程序与报表保存在同一目录中,然后运行它。

    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.)