RegisterLog In/Log OutView Cart
O'Reilly Ron's VB Forum Ron's VB Forum
BooksSafari BookshelfConferencesO'Reilly NetworkO'Reilly GearLearning Lab
 


Traveling to
a tech show?

Hotel Search
Hotel Discounts
Discount Hotels
Chicago Hotels
Canada Hotels
California Hotels
Hotels




Date: July 21 1999
From: Alex
To: ron@oreilly.com
Subject: RichTextBox

Ron,

How do I make a rich-text-box save like a normal text file?

-- Alex


Hello Alex,

The RichTextBox control, shown in Figure 1, provides the full power of a relatively sophisticated word processor in a relatively simple ActiveX control that requires surprisingly little coding. At the same time, the control in many respects is an enhanced version of the intrinsic TextBox control, with which it remains compatible.

RichTextBox Example
Figure 1. A RichTextBox control with formatted text

In other words, the control is designed to seamlessly handle plain ASCII text as well as rich (i.e., formatted) text. Most problems in using the control arise when the programmer expects to be working with text in one format, but instead ends up with text in the other. Imagine, for instance, that you're using automation to retrieve a string of bold text from a Word document to display in the control. The statement

RichTextBox1.Text = _
Word.Application.Selection

assigns the text to the control, but removes all formatting; you end up with plain ASCII text. Instead, to preserve formatting, you want to use the rich text version of the Text property:

RichTextBox1.TextRTF = _
Word.Application.Selection

In this case, no formatting is lost when the formatted Word string is assigned to the control. So in general, the control has two versions of every major property: one that supports rich text, and the other that supports only plain text.

Saving a file works very similarly. The RichTextBox control has a single SaveFile method, but its second parameter indicates the type of file to be saved. Its complete syntax is:

RichTextBox.SaveFile filename, filetype

where filename is the path and filename of the file to be saved, and filetype is a constant or numeric value representing either of the two file types that the control supports: rtfRTF or 0 for rich text, and rtfText or 1 for plain text. If the contents of the control contain rich text, the statement

RichTextBox1.SaveFile _
"MyUnformattedFile.txt", rtfText

removes all formatting.

If you're interested in the details of working with the control, I've found the section on the RichTextBox control in VB Controls in a Nutshell to be particularly good.

I hope that this helps. Good luck with using what is, in my opinion, the most underappreciated and underutilized control included with Visual Basic.

--Ron

Return to: Ron's Archive



O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.