• <menu id="w2i4a"></menu>
  • logo BCGControlBar使用教程

    文檔首頁>>BCGControlBar使用教程>>BCGControlBar使用工具教程

    BCGControlBar使用工具教程


    BCGControlBar庫框架支持用戶定義的工具。用戶定義的工具是一個特殊的菜單項,它執(zhí)行由用戶指定的外部程序。用戶定義的工具管理是定制過程的一部分,由框架實現(xiàn)。

    如果啟用,自定義對話框?qū)⒆詣硬迦?ldquo;Tools”屬性頁。以下是“Tools”頁面的圖片:

    BCGControlBar

    要在應(yīng)用程序中啟用用戶定義的工具,您需要執(zhí)行以下步驟:

    1. 在資源編輯器中,使用ID_TOOLS_ENTRY 命令I(lǐng)D 創(chuàng)建一個虛擬菜單項。
    2. (可選)您可以幫助用戶選擇工具的目錄和參數(shù)(外部程序)。在資源編輯器中創(chuàng)建兩個彈出菜單ID_MENU_ARGS和ID_MENU_DIRS。
    3. 您必須告知框架您的應(yīng)用程序中允許使用多少個用戶定義的工具。工具的命令I(lǐng)D必須是 連續(xù)的數(shù)字。例如,定義ID_USER_TOOL1到 ID_USER_TOOL10 字符串表,以等待10點的工具。
    4. 調(diào)用CBCGPWorkspace :: EnableUserTools 以啟用用戶定義的工具。指定ID_TOOLS_ENTRY作為偽命令I(lǐng)D, ID_USER_TOOL1和ID_USER_TOOL10作為工具命令的間隔,RUNTIME_CLASS(CBCGPUserTool)用于處理特定用戶工具的類。該ID_MENU_ARGS和 ID_MENU_DIRS 彈出菜單是可選的。
    5. 當(dāng)您調(diào)用自定義對話框(在此示例中為OnViewCustomize)時,始終調(diào)用CBCGPToolbarCustomize :: EnableUserTools將“工具”頁面插入自定義屬性表。

    注意。框架將搜索ID_TOOLS_ENTRY 并將其替換為實際的用戶定義工具條目(如果有)。如果要實現(xiàn)處理用戶工具的自定義對象,請從CBCGPUserTool類派生一個類,并在調(diào)用EnableUserTools時提供其運行時類信息

    如果您需要在應(yīng)用程序啟動時預(yù)定義某些工具:

    1. 覆蓋LoadFrame函數(shù)(它是CBCGPFrameWnd, CBCGPMDIFrameWnd和CBCGPOleIPFrameWnd 類的成員)。
    2. 通過調(diào)用CBCGPWorkspace :: GetUserToolsManager獲取指向CBCGPUserToolsManager對象的指針。
    3. 對于要創(chuàng)建的每個工具,調(diào)用 CBCGPUserToolsManager :: CreateNewTool。它返回指向 CBCGPUserTool對象的指針,并將新創(chuàng)建的用戶工具添加到內(nèi)部工具集合中。
    4. 對于每個工具,設(shè)置其文本標(biāo)簽和命令(CBCGPUserTool :: m_strLabel, CBCGPUserTool :: SetCommand)。 CBCGPUserTool的默認(rèn)實現(xiàn) 自動從SetCommand程序中指定的可用圖標(biāo)。

    注意。如果從CBCGPUserTool派生自己的類并在CBCGPWorkspace :: EnableUserTools中提供其運行時信息,則 CreateNewTool會動態(tài) 創(chuàng)建CBCGPUserTool派生的對象。

    購買BCG正版授權(quán)的朋友可以點擊"咨詢在線客服"哦~~~

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();