Tekst met opmaak toepassen in Visuele FoxPro-rapporten

In dit artikel wordt beschreven hoe u delen van een veld uit een tabel met opmaak kunt onderstrepen en deze opmaak kunt weergeven in een rapport.

Oorspronkelijke productversie: Visual FoxPro
Origineel KB-nummer: 246088

Samenvatting

Van tijd tot tijd is het handig om opmaakeffecten toe te voegen aan afzonderlijke woorden in Visual FoxPro-rapporten. Dit kan worden bereikt met het ActiveX-besturingselement Rich Text, een algemeen veld en een OLE-gebonden besturingselement in een Visual FoxPro-rapport.

Meer informatie

In dit voorbeeld ziet u hoe u delen van een veld uit een tabel onderstreept en deze opmaak weergeeft in een rapport. U kunt elk mogelijk effect of een combinatie van effecten in Tekst met opmaak toepassen op uw voorbeeld.

  1. Open Visual FoxPro en maak een nieuw rapport.

  2. Voeg een besturingselement Afhankelijk van afbeelding/Active-X toe aan de detailband van het rapport. Stel de eigenschap FIELD in op Dcolor.gcolor.

  3. Sla het rapport op als rtfDemo.

  4. Plak de volgende code in een nieuw programma. Sla het programma op in dezelfde map als het rapport en voer het uit.

    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
    

Wanneer het rapport wordt afgedrukt, wordt de kleur onderstreept in de tekst.

Opmerking

In sommige gevallen ziet het afdrukvoorbeeld van rtf-opgemaakte tekst er niet correct uit. Wanneer de tekenreeks echter wordt afgedrukt, wordt de uitvoer correct opgemaakt.

Tip

Als u een tekenreeks wilt genereren die vergelijkbaar is met de tekenreeks in de bovenstaande code, maakt u een sjabloon voor uw expressie in WordPad (of een andere toepassing waarmee rich text files kunnen worden gemaakt). Onderstreping, kleur en pas andere opmaak toe op de tekst en sla deze vervolgens op in een . RTF-bestand . Open de . RTF-bestand in Kladblok en kopieer/plak de rich text-code in uw Visual FoxPro-programma.

(Voor deze toepassing is het besturingselement RichTX32.OCX vereist. Visual FoxPro 3.0 en 3.0b worden niet geleverd met RichTX32.OCX.)