• <menu id="w2i4a"></menu>
  • logo BCGControlBar 中文文檔
    文檔首頁>>BCGControlBar 中文文檔>>MDI選項(xiàng)卡組

    MDI選項(xiàng)卡組


    立即下載BCGControlBar Professional Edition for MFC

    MDI選項(xiàng)卡組接口取代了常規(guī)的MDI選項(xiàng)卡組接口,該接口是在7.20版本之前由庫實(shí)現(xiàn)的。它允許在MDI客戶端區(qū)域創(chuàng)建一個(gè)或多個(gè)選項(xiàng)卡窗口(或選項(xiàng)卡組),選項(xiàng)卡窗口可以垂直或水平對(duì)齊,并通過分割器進(jìn)行分割。

    主要特點(diǎn):

    • 能夠動(dòng)態(tài)創(chuàng)建一個(gè)或多個(gè)選項(xiàng)卡窗口或使用庫的API。
    • 選項(xiàng)卡窗口的水平或垂直對(duì)齊。
    • 選項(xiàng)卡窗口由分隔器分隔,拆分器允許用戶調(diào)整選項(xiàng)卡窗口的大小。
    • 能夠在組之間拖動(dòng)單個(gè)選項(xiàng)卡。
    • 能夠拖動(dòng)單個(gè)選項(xiàng)卡和創(chuàng)建新組。
    • 能夠移動(dòng)選項(xiàng)卡或使用上下文菜單創(chuàng)建新組。
    • 能夠保存和加載選項(xiàng)卡窗口的布局。
    • 選項(xiàng)來保存和加載文檔列表(它也適用于任何MDI接口)。
    • 能夠?qū)DI子框架拖出父框架并創(chuàng)建一個(gè)新的頂級(jí)框架 ("MDI tear-off")。
    • 可以訪問單個(gè)選項(xiàng)卡組并修改其參數(shù)。

    如何啟用上述功能:

    1.使用 CBCGPMDIFrameWnd::EnableMDITabbedGroups來啟用MDI選項(xiàng)卡組特性,第二個(gè)參數(shù)是CBCGPMDITabParams類的實(shí)例。在傳遞給CBCGPMDIFrameWnd::EnableMDITabbedGroups之前,您可以填充它或保持默認(rèn)值。

    CBCGPMDITabParams params;
    params.m_nTabBorderSize = 1;
    EnableMDITabbedGroups (TRUE, params);

    點(diǎn)擊復(fù)制

    如果需要在運(yùn)行時(shí)更改上述任何參數(shù),只需填充CBCGPMDIFrameWnd::EnableMDITabbedGroups對(duì)象并再次調(diào)用CBCGPMDIFrameWnd::EnableMDITabbedGroups即可。

    2.您可以使用const CBCGPMDIFrameWnd::GetMDITabGroups方法獲得選項(xiàng)卡窗口列表。

    3.CBCGPMDIFrameWnd::MDITabNewGroup在活動(dòng)組旁邊創(chuàng)建一個(gè)新的選項(xiàng)卡組。

    4.CBCGPMDIFrameWnd::MDITabMoveToNextGroup將活動(dòng)窗口移動(dòng)到下一個(gè)或上一個(gè)組。

    5.CBCGPMDIFrameWnd::IsMemberOfMDITabGroup 告訴pWnd是否存在于其他選項(xiàng)卡窗口中。

    6.CBCGPMDIFrameWnd::AreMDITabs告訴是否啟用了regular MDITabs或MDI Tabbed Groups功能,也可以使用BOOL CBCGPMDIFrameWnd::IsMDITabbedGroup常量來顯式測(cè)試MDI選項(xiàng)卡組特性。

    7.覆蓋在主框架派生類CBCGPMDIFrameWnd::OnShowMDITabContextMenu.,它允許在用戶單擊其中一個(gè)選項(xiàng)卡或在另一個(gè)選項(xiàng)卡組上拖放選項(xiàng)卡時(shí)顯示彈出式菜單。

    8.調(diào)用 CBCGPMDIFrameWnd::LoadMDIState和 CBCGPMDIFrameWnd::SaveMDIState來加載和保存MDI選項(xiàng)卡組的布局。此外,如果需要加載/保存打開的文檔列表(適用于任何MDI接口),應(yīng)該調(diào)用這些方法。

    9.為了加載/保存MDI選項(xiàng)卡和組狀態(tài)以及打開的文檔列表,您需要執(zhí)行以下操作:

    • 當(dāng)主框架關(guān)閉時(shí),調(diào)用CBCGPMDIFrameWnd::SaveMDIState。
    • 在創(chuàng)建主框架時(shí)調(diào)用CBCGPMDIFrameWnd::LoadMDIState ,建議在第一次顯示主框架之前調(diào)用這個(gè)函數(shù)。
    1. 使用EnableLoadWindowPlacement (FALSE);在pMainFrame->LoadFrame(IDR_MAINFRAME)之前;
    2. 在CBCGPMDIFrameWnd::LoadMDIState之后使用 CBCGPWorkspace::ReloadWindowPlacement (pMainFrame)來顯示存儲(chǔ)在注冊(cè)表中的主框架位置。
    • 如果您的應(yīng)用程序顯示的文檔不是作為文件存儲(chǔ)的,則在CBCGPMDIChildWnd派生類中重寫CBCGPMDIChildWnd::GetDocumentName,返回的字符串將作為文檔標(biāo)識(shí)符保存在注冊(cè)表中,CBCGPMDIChildWnd中的基本實(shí)現(xiàn)返回一個(gè)從CDocument::GetPathName獲得的值。
    • 覆蓋CBCGPMDIFrameWnd::CreateDocumentWindow,以便在從注冊(cè)表加載文檔時(shí)正確創(chuàng)建文檔。參數(shù)'lpcszDocName'是先前從CBCGPMDIChildWnd::GetDocumentName返回的字符串。
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();