"Woody" <
lost@cyberspace.com>wrote in message
Quote
i have no idea what the difference is between a MDI and an SDI form or
where why and when i shoudl use an MDI over and SDI or vice versa.
Can someone please enlighten me?
An MDI application is intended to allow the user to work with multiple
windows at once while keeping them in a manageable container. Often these
windows are related. In Word, for example, every window is going to contain
a word processing document. In Excel, all the windows will be workbooks
(spreadsheets). Access, on the other hand, provides different window types,
such as table datasheets, query designers, forms, etc. However, all these
windows are related to a single database.
Certain actions in an MDI app affect all windows. For example, when you
maximize one child window, they are all maximized, and if you restore (or
minimize) a child window, they are all returned to their un-maximized state
(whether "restored" or minimized). Also, a Window menu is traditionally
supplied to allow quick switching between child windows.
Contrast this to having 5 copies of Notepad (an SDI application) open at one
time. They're all independent of each other and provide no built-in means of
switching to other windows.
The decision to use MDI should be well-thought-out, in my opinion. Just
yesterday I went looking through all the programs I've written to find a
certain piece of information about the default properties of an MDI child
form. It occurred to me that of the 40 or so project folders I had, only one
of them was an MDI application I had designed (and one I inherited). That's
how little I need the specific features of MDI. Some common programs which
provide multiple views of different items (like Outlook provides mail,
calendar, and task views, among others) also decided that they don't need
MDI to do what they do.
-