次の方法で共有


CMDIFrameWndEx::EnableMDITabs

更新 : 2007 年 11 月

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_SCROLLED を使用し、Microsoft OneNote タブには STYLE_3D_ONENOTE を使用します。

  • bTabCustomTooltips
    カスタム ツールヒントが有効かどうかの指定。

  • bActiveTabCloseButton
    TRUE の場合、閉じるボタンは、タブ領域の右隅ではなくアクティブなタブに表示されます。

解説

MDI フレーム ウィンドウの MDI タブ機能を有効または無効にする場合に、このメソッドを呼び出します。有効にすると、すべての子ウィンドウがタブとして表示されます。

tabLocation パラメータの設定に応じて、タブ ラベルをフレームの上部または下部に配置できます。CMFCTabCtrl::LOCATION_BOTTOM (既定の設定) または CMFCTabCtrl::LOCATION_TOP を指定できます。

bTabCustomTooltips が TRUE の場合、AFX_WM_ON_GET_TAB_TOOLTIP メッセージはメイン フレーム ウィンドウに送信されます。コードでこのメッセージを処理し、MDI タブのカスタム ツールヒントを提供できます。

使用例

MDITabsDemo サンプル : MFC タブ付き MDI アプリケーションEnableMDITabs を使用する方法を次の例に示します。

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

参照

概念

MFC 階層図

参照

CMDIFrameWndEx クラス