CMDIFrameWndEx::EnableMDITabs
Active ou désactive la fonctionnalité d'onglets MDI de la fenêtre frame MDI. Une fois activé, la fenêtre frame affiche un onglet pour chaque fenêtre enfant MDI.
void EnableMDITabs(
BOOL bEnable=TRUE,
BOOL bIcons=TRUE,
CMFCTabCtrl::Location tabLocation=CMFCTabCtrl::LOCATION_BOTTOM,
BOOL bTabCloseButton=FALSE,
CMFCTabCtrl::Style style=CMFCTabCtrl::STYLE_3D_SCROLLED,
BOOL bTabCustomTooltips=FALSE,
BOOL bActiveTabCloseButton=FALSE
);
Paramètres
bEnable
Spécifie si les onglets sont activés.bIcons
Spécifie si les icônes doit être affichées sur les onglets.tabLocation
Spécifie l'emplacement des étiquettes d'onglet.bTabCloseButton
Spécifie si l'affichage de bouton Fermer d'onglet.style
Spécifie le style des onglets. Utilisez STYLE_3D_SCROLLED pour les onglets normaux ou STYLE_3D_ONENOTE pour les onglets Microsoft OneNote.bTabCustomTooltips
Spécifie si les info-bulles personnalisées sont activées.bActiveTabCloseButton
Si TRUE, un bouton Fermer s'affiche sous l'onglet actif et non dans le bon coin de la zone de l'onglet.
Notes
Appelez cette méthode pour activer ou désactiver la fonctionnalité d'onglets MDI de la fenêtre frame MDI. Une fois activées, toutes les fenêtres enfants sont affichées comme onglets.
Les étiquettes d'onglet peuvent être situées en haut ou en bas du frame, selon la configuration du paramètre tabLocation. Vous pouvez spécifier CMFCTabCtrl::LOCATION_BOTTOM (le paramètre par défaut) ou CMFCTabCtrl::LOCATION_TOP.
Si bTabCustomTooltips est TRUE, un message d' AFX_WM_ON_GET_TAB_TOOLTIP sera envoyé à la fenêtre frame principale. Votre code peut gérer ce message et fournir à l'infrastructure des info-bulles personnalisées pour les onglets MDI.
Exemple
l'exemple suivant montre comment EnableMDITabs est utilisé dans Exemple MDITabsDemo : MFC est tabulé l'application MDI.
void CMainFrame::UpdateMDITabs (BOOL bResetMDIChild)
{
CMDITabInfo params;
HWND hwndActive = NULL;
switch (theApp.m_Options.m_nMDITabsType)
{
case CMDITabOptions::None:
{
BOOL bCascadeMDIChild = FALSE;
if (IsMDITabbedGroup ())
{
EnableMDITabbedGroups (FALSE, params);
bCascadeMDIChild = TRUE;
}
else if (AreMDITabs ())
{
EnableMDITabs (FALSE);
bCascadeMDIChild = TRUE;
}
if (bCascadeMDIChild)
{
// CMDIClientAreaWnd m_wndClientArea
hwndActive = (HWND) m_wndClientArea.SendMessage (WM_MDIGETACTIVE);
m_wndClientArea.PostMessage (WM_MDICASCADE);
m_wndClientArea.UpdateTabs( false );
m_wndClientArea.SetActiveTab(hwndActive);
::BringWindowToTop (hwndActive);
}
}
break;
case CMDITabOptions::MDITabsStandard:
hwndActive = (HWND) m_wndClientArea.SendMessage (WM_MDIGETACTIVE);
m_wndClientArea.PostMessage (WM_MDIMAXIMIZE, LPARAM(hwndActive), 0L);
::BringWindowToTop (hwndActive);
EnableMDITabs (TRUE,theApp.m_Options.m_bMDITabsIcons, theApp.m_Options.m_bTabsOnTop ? CMFCTabCtrl::LOCATION_TOP : CMFCTabCtrl::LOCATION_BOTTOM, theApp.m_Options.m_nTabsStyle);
GetMDITabs().EnableAutoColor (theApp.m_Options.m_bTabsAutoColor);
GetMDITabs().EnableTabDocumentsMenu (theApp.m_Options.m_bMDITabsDocMenu);
GetMDITabs().EnableTabSwap (theApp.m_Options.m_bDragMDITabs);
GetMDITabs().SetTabBorderSize (theApp.m_Options.m_nMDITabsBorderSize);
GetMDITabs().SetFlatFrame (theApp.m_Options.m_bFlatFrame);
GetMDITabs().EnableCustomToolTips (theApp.m_Options.m_bCustomTooltips);
GetMDITabs().EnableCustomToolTips (theApp.m_Options.m_bCustomTooltips);
GetMDITabs().EnableActiveTabCloseButton (theApp.m_Options.m_bActiveTabCloseButton);
break;
Configuration requise
en-tête : afxMDIFrameWndEx.h