Navigation:  Interfaces (Technical API Reference) > Text Elements (paragraphs, objects, styles) >

IWPParInterface Interface

Previous pageReturn to chapter overviewNext page

Low level paragraph text and attribute access

Description

The IWPParInterface makes it possible to manipulate text styles and paragraphs.

 

If you use it to add text (instead of IWPTextCursor functions) the new text can be creation without the need to move the cursor position. This can be useful to create text "on the fly" in headers or footers (see IWPDataBlock.AppendParagraph).

 

If You use Memo.CurrPar usually only the current paragraph, the paragraph the cursor is in, will be modified. But many methods and properties can also modify all selected paragraphs.

 

To do so, You first need to call SetProp(1,1) and when done SetProp(1,0). We highlighted the methods with this ability with this symbol: workswithseltext

 

This codes appends text to the paragraph:

 

IWPAttrInterface atr = wpdllInt1.AttrHelper;

IWPParInterface par = memo.CurrPar;

// Append normal text

atr.Clear();

par.AppendText("Normal ", atr.CharAttrIndex);

// bold text

atr.IncludeStyles(1);

par.AppendText("and bold", atr.CharAttrIndex); 

 

IWPParInterface is used to change the properties of a paragraph:

 

IWPParInterface par= Memo.CurrPar;

par.IndentLeft = (int)(3/2.54*1440); // Indent left = 3 cm

par.IndentRight = (int)(1.5*1440); // Indent right = 1.5 inch

 

In a data bound editor you need to set the modified flag prior to the change of the text. You can use

the method TextCursor.CheckState(10) to do it. This will trigger the PropChange event.

 

IWPParInterface is also used to change a style element.

 

WPDynamic.IWPParInterface style;

int i;

// create a new style

wpdllInt1.Memo.SelectStyle("New_Style");

// get interface to change the style

style = wpdllInt1.Memo.CurrStyle;

// set properties in stlye

style.Alignment = 2;

// select the style for the current paragraph

wpdllInt1.CurrPar.StyleName = "New_Style";

 

If you need to change the NextStyle property of a paragraph style please use ConvertTextToValue:

 

   // Interface to modify the properties of the style

   WPDynamic.IWPParInterface style = wpdllInt1.Memo.CurrStyle;

   int i;

 

   // Create style 1

   wpdllInt1.Memo.SelectStyle("Style1");

   style.Alignment = 1;

   // Set NextStyle property

   i = style.ConvertTextToValue("Style2");

   style.ParASet((int)WPAT.STYLE_NEXT_NAME, i);

 

   // Create style 2

   wpdllInt1.Memo.SelectStyle("Style2");

   style.Alignment = 2;

 

Tip: A table row can be duplicated using the CurrPar interface. Here we first let the CurrPar interface modify the current row and then call Duplicate():

Cursor.CPTableRowNr = 1// goto row 1

Memo.CurrPar.SetPtr( Cursor.CPRowPtr );

while(rowcount-->0) Memo.CurrPar.Duplicate();

 

 

Overview:

Properties:


Methods

 

Methods