文档彩票走势图>>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的派生对象。