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_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 タブのカスタム ツールヒントを提供できます。
使用例
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