MDI Tabbed Groups
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at MDI Tabbed Groups.
The multiple document interface (MDI) tabbed groups feature enables multiple document interface (MDI) applications to display one or more tabbed windows (or groups of tabbed windows, known as tabbed groups) in the MDI client area. The tabbed windows can be aligned vertically or horizontally. If an application hosts more than one MDI tabbed group, the groups are separated by splitters.
Features
The following are the features of MDI tabbed groups:
An application can create tabbed windows dynamically.
An application can align tabbed windows horizontally or vertically.
Groups of tabbed windows are separated by splitters. The user can resize tabbed groups by using the splitter.
The user can drag individual tabs between groups.
The user can drag individual tabs to create new groups.
The user can move tabs or create new groups by using a shortcut menu.
An application can save and load the layout of tabbed windows.
An application can save and load the list of MDI documents.
An application can access individual tabbed groups and modify their parameters.
Using MDI Tabbed Groups
The following are tasks commonly performed with MDI tabbed groups:
To enable MDI tabbed groups for a main frame window, call CMDIFrameWndEx::EnableMDITabbedGroups. The second parameter of this method is an instance of the
CMDITabInfo
class. You can use the default parameters or modify them before you callCMDIFrameWndEx::EnableMDITabbedGroups
.To modify the properties of an MDI tabbed group at run time, create or modify a
CMDITabInfo
object and callCMDIFrameWndEx::EnableMDITabbedGroups
againTo obtain a list of MDI tabbed windows, call
CMDIFrameWndEx::GetMDITabGroups
.To create a new MDI tabbed group next to an active tabbed group, call
CMDIFrameWndEx::MDITabNewGroup
.To shift the input focus to the previous or next window of a tabbed group, call
CMDIFrameWndEx::MDITabMoveToNextGroup
.To determine whether a window is a member of an MDI tabbed group call
CMDIFrameWndEx::IsMemberOfMDITabGroup
.To determine whether MDI tabs or MDI tabbed groups are enabled for a main frame window, call
CMDIFrameWndEx::AreMDITabs
. To determine only whether MDI tabbed groups are enabled, callCMDIFrameWndEx::IsMDITabbedGroup
.To display a shortcut menu when the user clicks a tab or drags it to another MDI tabbed group, override
CMDIFrameWndEx::OnShowMDITabContextMenu
in theCMDIFrameWndEx
-derived class. If you do not implement this method, the application will not display the shortcut menu.To save the layout of MDI tabbed groups in an application, call
CMDIFrameWndEx::SaveMDIState
. To load a previously saved MDI tabbed group profile, callCMDIFrameWndEx::LoadMDIState
. You can also call these methods to load or save the list of opened documents in an MDI application. For more information about saving and loading MDI state, see CMDIFrameWndEx::LoadMDIState.
See Also
User Interface Elements
CMDIFrameWndEx Class
CMDIChildWndEx Class
CMDITabInfo Class