CMDIFrameWndEx::EnableMDITabs

启用或禁用MDI框架窗口的MDI可选功能。 当启用,框架窗口显示每个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 
);

参数

  • bEnable
    指定选项是否启用。

  • bIcons
    指定是否在选项卡中显示图标。

  • tabLocation
    指定选项卡标签的位置。

  • bTabCloseButton
    指定是否显示选项关闭"按钮。

  • style
    指定选项样式。 为常规选项卡使用 STYLE_3D_SCROLLEDSTYLE_3D_ONENOTE 为Microsoft、选项。

  • bTabCustomTooltips
    指定自定义工具提示是否启用。

  • bActiveTabCloseButton
    如果 TRUE,关闭 按钮在活动选项将显示而不是在选项区域的右角。

备注

调用此方法以启用或禁用MDI框架窗口的MDI可选功能。 当启用,所有子窗口显示为选项。

选项卡标签可以位于帧的顶部或底部,基于将参数 tabLocation。 可以指定 CMFCTabCtrl::LOCATION_BOTTOM (默认设置)或 CMFCTabCtrl::LOCATION_TOP

如果 bTabCustomTooltips 是 TRUEAFX_WM_ON_GET_TAB_TOOLTIP 信息将发送到主框架窗口。 您的代码能够处理此消息并提供框架以自定义工具提示在MDI选项。

示例

下面的示例演示 EnableMDITabs 如何在 MDITabsDemo示例:MFC选项卡式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;

要求

标头: afxMDIFrameWndEx.h

请参见

参考

CMDIFrameWndEx选件类

层次结构图