文檔金喜正規買球>>BCGControlBar 中文文檔>>自定義工具
自定義工具
立即下載BCGControlBar Professional Edition for MFC
BCGControlBar庫框架支持用戶定義的工具。用戶定義工具是一個特殊的菜單項,它執行由用戶指定的外部程序,用戶定義工具管理是定制過程的一部分,由框架實現。
如果啟用,自定義對話框會自動插入“Tools”屬性頁。“工具”界面如下圖所示:

要在應用程序中啟用自定義工具,需要執行以下步驟:
- 在資源編輯器中,使用ID_TOOLS_ENTRY命令ID創建一個虛擬菜單項。
- 您還可以幫助用戶選擇目錄和工具(外部程序)的參數,在資源編輯器中創建兩個彈出菜單ID_MENU_ARGS和ID_MENU_DIRS。
- 您必須告知框架在應用程序中允許使用多少用戶定義工具,工具的命令IDs必須為連續的數字。例如,在字符串表中定義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彈出式菜單是可選的。
請注意框架將搜索ID_TOOLS_ENTRY并將其替換為實際的用戶定義工具條目(如果有的話),如果您想實現一個處理用戶工具的自定義對象,從CBCGPUserTool類派生一個類,并在調用CBCGPWorkspace::EnableUserTools時提供它的運行時類信息。
如果您需要在應用啟動時預定義一些工具:
- 重載LoadFrame函數(它是cbcgpframewind、cbcgpmdiframewind和cbcgpoleipframewind類的成員)。
- 通過調用CBCGPWorkspace::GetUserToolsManager獲取CBCGPUserToolsManager對象的指針。
- 對于您想要創建的每個工具,調用CBCGPUserToolsManager::CreateNewTool,它返回一個指向CBCGPUserTool對象的指針,并將新創建的用戶工具添加到工具的內部集合中。
- 對于每個工具,設置它的文本標簽和命令(CBCGPUserTool::m_strLabel, CBCGPUserTool::SetCommand),CBCGPUserTool的默認實現自動從SetCommand程序中指定的可用圖標中檢索。
請注意如果您從CBCGPUserTool中派生出自己的類,并且在CBCGPWorkspace::EnableUserTools中提供了它的運行時信息,CreateNewTool會動態地創建CBCGPUserTool的派生對象。