Flylib.com

Books Software

 
 
 

How to Format Text in a Rich Text Object


How to Format Text in a Rich Text Object

Using the NotesRichTextStyle class, you can format the content of a Rich Text object. This routine illustrates how to set the font, change the font size , and apply color to text.

How It Works

To format Rich Text objects, a style property is assigned to a NotesRichTextStyle object (such as the font). This style is then applied to the Rich Text object. After it is applied, all subsequent text inserted into the object will contain these applied characteristics. The style changes can be applied prior to any text insertions.

Implementation

Formatting text strings requires a NotesRichTextItem and NotesRichTextStyle object. After they are defined, set the style properties prior to inserting text. The following illustrates an action button that sends an email with three uniquely formatted text strings. Notice that the style properties are set and applied to the Rich Text object (called rtitem ) prior to using the appendtext method to insert a text string.

Sub Click(Source As Button)

   '--------------------------------------------------------
   ' Define the objects
   '--------------------------------------------------------
   Dim s As NotesSession
   Dim w As NotesUIWorkspace
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim PersonName As NotesName
   Dim rtitem As NotesRichTextItem
   Dim richStyle As NotesRichTextStyle

   Set s = New NotesSession
   Set w = New NotesUIWorkspace
   Set db = s.CurrentDatabase
   Set doc = New NotesDocument (db)

   '--------------------------------------------------------
   ' Build the email header
   '--------------------------------------------------------
   Set Person = New NotesName (s.UserName)
   doc.Form = "Memo"
   doc.SendTo = Person.Abbreviated
   doc.Subject = "Sample email with formatted Richtext"

   '--------------------------------------------------------
   ' Create the Rich Text item and style objects
   '--------------------------------------------------------
   Set richStyle = s.CreateRichTextStyle
   Set rtitem = New NotesRichTextItem(doc, "Body")

   '--------------------------------------------------------
   ' Set Font=courier, Fontsize=14
   '--------------------------------------------------------
   richStyle.NotesFont = FONT_COURIER
   richStyle.FontSize = 14
   Call rtitem.AppendStyle(richStyle)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("You are invited to a...")
   Call rtitem.AddNewline (2)

   '--------------------------------------------------------
   ' Set Fontsize=24, Color = Dark Magenta
   ' Font is still Courier, Bold and Italic
   '--------------------------------------------------------
   richStyle.NotesColor = COLOR_DARK_MAGENTA
   richStyle.FontSize = 24
   richStyle.Bold = True
   richStyle.Italic = True
   Call rtitem.AppendStyle(richStyle)
   Call rtitem.AppendText("New Years Eve party!")
   Call rtitem.AddNewline (2)

   '--------------------------------------------------------
   ' Set Font=Roman, Fontsize=14, Color=Blue
   ' Turn off Italic, Bold is still enabled
   '--------------------------------------------------------
   richStyle.NotesColor = COLOR_BLUE
   richStyle.NotesFont = FONT_ROMAN
   richStyle.FontSize = 14
   richStyle.Italic = False
   Call rtitem.AppendStyle(richStyle)
   Call rtitem.AppendText("See you there!")

   '--------------------------------------------------------
   ' Send the email
   '--------------------------------------------------------
   doc.Send False
   Msgbox "Sample email has been sent."

End Sub


Figure 13.23 illustrates the email generated by this LotusScript code example.

Figure 13.23. Format text in a Rich Text field or object