IWPParInterface CurrPar

[Top]  [Chapter]  [Previous]  [Next]

This interface allows modification of the current paragraph, this is the paragraph the cursor is located in.

 

If you use the method TextCursor.InputTable, StartTableRow, InputCell, EndTableRow this property allows it to change the properties of the current paragraph/cell, table or table row.

 

Please note, that, even if you store the reference of the CurrPar interface to a variable, the interface will always modify the paragraph which is 'current' at the time you access methods of the interface. The same is true for the interfaces CurrParAttr.

 

The IWPMemo interface also publishes the interfaces CurrPar, CurrParAttr etc.

 

This interfaces are also published by IWPRTFDataBlock - this makes it possible to modify the text without moving the cursor!

 

This C# example appends formatted text:

 

IWPParInterface par = wpdllInt1.memo.CurrPar;

IWPAttrInterface atr = wpdllInt1.AttrHelper;

 

// Append normal text

  atr.Clear();

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

// bold text

  atr.IncludeStyles(1);

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

 

This C# example adds arabic numbering to the current paragraph

 

IWPParInterface par;

par = WPDLLInt1.CurrPar;

if(par!=null)

{

 par.IndentLeft  = (int)(0.5 * 1440); // 1/2 inch

 par.IndentFirst = -(int)(0.5 * 1440);

 par.NumberMode  = 3;

}

 

You can modify each of the propeties which is defined by a WPAT-code using the method ParASet and delete it using ParADel. To modify the attributes of the text use CurrParAttr or, for each individual character, CurrPar.CharAttr(index).

 

This code creates a table using TextCursor.InputTable. This is just one possibility to create a table. The other high level method is TextCursor.AddTable which requires a callback to set properties and fill in text. InputTable does not require a callback which makes it easy to use in interpreted code.

 

 IWPMemo memo = wpdllInt1.Memo;

 IWPAttrInterface atr = wpdllInt1.AttrHelper;

 IWPParInterface par = memo.CurrPar;

 IWPAttrInterface parattr = memo.CurrParAttr;

 IWPTextCursor cursor = memo.TextCursor;

 

 // Start a table

 cursor.InputTable(0,"");

 // use 50 % of the page width

 par.ParASet((int)WPAT.BoxWidth_PC, 50*100);

 // Now create 5 rows

 for (int r = 1; r <= 5; r++)

 {

    cursor.InputRowStart(0);

    // With 2 cells each, 10 and 90 % width

    cursor.InputCell(r.ToString(),"");

    par.ParASet((int)WPAT.COLWIDTH_PC, 10*100);

    par.ParColor = wpdllInt1.ColorToRGB(Color.Gray);

    parattr.IncludeStyles(1); // bold text

    // The second cell uses different text attributes

    cursor.InputCell("","");

    par.ParASet((int)WPAT.COLWIDTH_PC, 90*100);

    // Append normal text

    atr.Clear();

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

    atr.IncludeStyles(1); // bold text

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

    // This row is finished

    cursor.InputRowEnd();

 }

 // Format and display

 memo.ReformatAll(false, true);


[iwpparinterfacecurrpar.htm]    Copyright © 2007 by WPCubed GmbH