|
Abstract
MyWord
is a miniature word processor built around a CRichEditView. MFC's CRichEditView
class is like a CEditView on steroids; based on the rich text edit control supplied
in the common controls library, it features superior text formatting capabilities
and the ability to read and write rich text format (RTF) files with a simple function
call. MyWord doesn't use all the features of a CRichEditView; in fact, it barely
scratches the surface. But MyWord packs a lot of punch for a program that's only
a few hundred lines long, and it's a good starting point for writing CRichEditView-based
applications of your own. MyWord
uses two toolbars and one status bar. The main toolbar includes buttons that serve
as shortcuts for the New, Open, and Save items in the File menu and the Cut, Copy,
Paste, and Undo items in the Edit menu. The other toolbar, which I'll refer to
as the style bar, includes check push buttons for setting the character format
(bold, italic, and underline), radio push buttons for setting the paragraph alignment
(left aligned, centered, and right aligned), and combo boxes for selecting typefaces
and font sizes. Both toolbars can be detached from the frame window, floated,
and docked at other locations; and both can be resized while they're floating.
It is possible to use the View menu to hide and display the toolbars and the status
bar. You can also hide a toolbar by clicking the close button in the mini frame
window it floats in when it's detached from the main frame window. To redisplay
the toolbar, simply select the Toolbar or Style Bar command in the View menu.
The
status bar at the bottom of MyWord's frame window displays help text for menu
items and toolbar controls. It also includes Caps Lock and Num Lock indicators
and a line number display that's continually updated as the caret moves through
the document. The Caps Lock and Num Lock indicators were added using MFC's predefined
ID_INDICATOR_CAPS and ID_INDICATOR_NUM IDs. The line number indicator is updated
by an ON_UPDATE_COMMAND_UI handler that, when called, retrieves the current line
number from the CRichEditView, formulates a text string containing the line number,
and updates the status bar display with CCmdUI::SetText. The line number pane
is sized to fit the dummy string "Line 00000," whose resource ID, ID_INDICATOR_LINE,
is identical to the status bar pane's ID. The dummy string is never seen because
the pane is updated with a real line number before the status bar appears on the
screen.
<<
back |