Class Index

MDI view

Activate Activates this view.
Active Returns true, if this view is the active MDI view.
BorderRegion Returns the region occupied by the border.
CMDIView Constructor
CMDIView Constructor
CanClose Called when the view should be closed.
ClientRect Returns the client area.
Draw BeOS hook function
FrameResized BeOS hook function
GetSizeLimits Returns the size limits.
HitTest Returns the area the mouse is over.
Init Common initializer
MDIFlags Returns the MDI flags.
MouseDown BeOS hook function
MouseMoved BeOS hook function
MouseUp BeOS hook function
RedrawBelow Returns true if the MDI_REDRAW_BELOW flag is set.
SetSizeLimits Sets the size limits.
SizeEdgeRegion Returns the region occupied by the size edge.
active True, if this view is the active view.
borderRegion Region occupied by the border.
defaultMaxHeight Initial value for 'maxHeight'
defaultMaxWidth Initial value for 'maxWidth'
defaultMinHeight Initial value for 'minHeight'
defaultMinWidth Initial value for 'minWidth'
maxHeight Maximum height
maxWidth Maximum width
mdiFlags Flags
minHeight Minimum height
minWidth Minimum width
mouseAction Attached mouse action
sizeEdgeHeight Height of the size edge.
sizeEdgeRegion Region occupied by the size edge.
sizeEdgeWidth Width of the size edge.
~CMDIView Destructor


This class works together with CMDIClientView and CMDITitleView. A MDI view must be a direct child of a CMDIClientView. That client view manages the MDI views and their z-order. CMDITitleView displays a the title of a MDI view. You normally don't create an instance of CMDITitleView. The CMDIClientView does that for you, when you attach the MDI view to the client view.

Like any other view a MDI view can contain child views. These child views are added to the so called 'client area'. The client area is surrounded by a border. You can request the size of the client area by calling the ClientRect method.

To speed up drawing the child views of a MDI view should set their view color to B_TRANSPARENT_COLOR and fill the view with the background color in their implementation of BView::Draw. If that isn't possible (e.g. because you are using a BeOS control) you must set the MDI_REDRAW_BELOW flag for the MDI view.

If your MDI view is maximizeable it should contain only one direct child. That child (ChildAt(0)) replaces the CMDIClientView when the MDI view is maximized.

Last modified Sun Sep 2 20:41:06 2001
Derived from CTitledView
Declared in MDIView.h


© 2000 by 3rd-evolution