The MDI architecture not only
permits us to open more than one document of a particular type,
but it also allows us to open different types of documents in an
application. To help you understand this facility we have put
together an application, which has the following
provisions:
(a) There are two types of
documents: one, which stores information about the lines and
rectangles drawn interactively, and another, which stores
information about the circles drawn interactively. Here onwards
we would call these documents as landr and circle documents
respectively.
(b) When the landr document is
opened, two views of the document are displayed in splitter
windows. We have first created a static splitter window
containing two panes. The right pane contains the text view
showing the line count, the rectangle count, the current shape,
line color, line thickness and brush color. The left pane houses
a dynamic splitter window containing two panes. Each of these
panes show the graphics view of lines and rectangles. When the
circle document is opened, using the document data, circles are
built in a view window. Unlike the view of landr document
mentioned above, this view does not contain any splitter
window.
(c) Whenever we open a landr
or a circle document the window housing its view(s) would show
an appropriate icon. Note that these icons are different than
the icon of the frame window.
(d) Whenever we attempt to open a
new document using ‘File | New’, a dialog box is
popped up asking the user to select the type of document to
open. A similar dialog is also popped up when we start the
application with an empty document. This dialog is shown below:
Figure 1. Opening a document in an
MDI application.
The names of the types of documents
in the above dialog are obtained through the third sub-string of
the document string. The document strings that we have created
for the two types of documents are as under:
I
DR_CHILDFRAME1 :
\nNoname\nLine Rectangle Document \nLineRect Files(*.lnr)\n.lnr
\nShapes.Document\nOur Shapes Document
IDR_CHILDFRAME2 :
\nNoname\nCircle Document \nCircle Files(*.cir)
\n.cir\nShapes.Document \nOur Shapes
Document Note that the fourth and
the fifth sub-string in the above two document strings represent
two different types of documents that the application supports.
Figure 2 shows two documents created using this program. One
shows line and rectangle drawn using the program and another
shows the circles drawn using it.
Figure 2. Mutiple types of
documents opened in an MDI app.
|