BCGControlBar庫框架支持用戶定義的工具。用戶定義的工具是一個特殊的菜單項,它執行由用戶指定的外部程序。用戶定義的工具管理是定制過程的一部分,由框架實現。
如果啟用,自定義對話框將自動插入“Tools”屬性頁。以下是“Tools”頁面的圖片:

要在應用程序中啟用用戶定義的工具,您需要執行以下步驟:
- 在資源編輯器中,使用ID_TOOLS_ENTRY 命令ID 創建一個虛擬菜單項。
- (可選)您可以幫助用戶選擇工具的目錄和參數(外部程序)。在資源編輯器中創建兩個彈出菜單ID_MENU_ARGS和ID_MENU_DIRS。
- 您必須告知框架您的應用程序中允許使用多少個用戶定義的工具。工具的命令ID必須是 連續的數字。例如,定義ID_USER_TOOL1到 ID_USER_TOOL10 字符串表,以等待10點的工具。
- 調用CBCGPWorkspace :: EnableUserTools 以啟用用戶定義的工具。指定ID_TOOLS_ENTRY作為偽命令ID, ID_USER_TOOL1和ID_USER_TOOL10作為工具命令的間隔,RUNTIME_CLASS(CBCGPUserTool)用于處理特定用戶工具的類。該ID_MENU_ARGS和 ID_MENU_DIRS 彈出菜單是可選的。
- 當您調用自定義對話框(在此示例中為OnViewCustomize)時,始終調用CBCGPToolbarCustomize :: EnableUserTools將“工具”頁面插入自定義屬性表。
注意。框架將搜索ID_TOOLS_ENTRY 并將其替換為實際的用戶定義工具條目(如果有)。如果要實現處理用戶工具的自定義對象,請從CBCGPUserTool類派生一個類,并在調用EnableUserTools時提供其運行時類信息
如果您需要在應用程序啟動時預定義某些工具:
- 覆蓋LoadFrame函數(它是CBCGPFrameWnd, CBCGPMDIFrameWnd和CBCGPOleIPFrameWnd 類的成員)。
- 通過調用CBCGPWorkspace :: GetUserToolsManager獲取指向CBCGPUserToolsManager對象的指針。
- 對于要創建的每個工具,調用 CBCGPUserToolsManager :: CreateNewTool。它返回指向 CBCGPUserTool對象的指針,并將新創建的用戶工具添加到內部工具集合中。
- 對于每個工具,設置其文本標簽和命令(CBCGPUserTool :: m_strLabel, CBCGPUserTool :: SetCommand)。 CBCGPUserTool的默認實現 自動從SetCommand程序中指定的可用圖標。
注意。如果從CBCGPUserTool派生自己的類并在CBCGPWorkspace :: EnableUserTools中提供其運行時信息,則 CreateNewTool會動態 創建CBCGPUserTool派生的對象。
購買BCG正版授權的朋友可以點擊""哦~~~
標簽:
BCGMFC界面控件UI界面C/C++BCGControlBar
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn