BCGControlBar ("Business Components Gallery ControlBar")是MFC扩展库,使您可以创建具有完全自定义选项(功能区、可自定义工具栏、菜单等)以及一组专业设计的丰富Microsoft Office和Microsoft Visual Studio的应用程序 GUI控件,例如图表、日历、网格、编辑器、甘特图和许多其他控件。 BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。
BCGControlBar Pro for MFC v31.0正式版下载
BCGControlBar Library框架支持用户定义的工具,用户定义的工具是一个特殊的菜单项,它执行由用户指定的外部程序,用户定义的工具管理是框架实施的自定义过程的一部分。
如果启用,自定义对话框将自动插入 "Tools"属性页面,以下是 "Tools"页面的图片:
要在应用程序中启用用户定义的工具,您需要执行以下步骤:
- 资源编辑器使用ID_TOOLS_ENTRY命令ID创建一个虚拟菜单项。
- (可选)您可以帮助用户选择工具(外部程序)的目录和参数,在资源编辑器中,创建两个弹出菜单ID_MENU_ARGS和ID_MENU_DIRS。
- 您必须告知框架应用程序中允许使用多少个用户定义的工具,工具的命令ID必须为连续数字。例如,在字符串表中定义ID_USER_TOOL1至ID_USER_TOOL10,以允许使用十个工具。
- 调用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函数(它是CBCGPFrameWnd, CBCGPMDIFrameWnd 和 CBCGPOleIPFrameWnd类的成员)。
- 通过调用CBCGPWorkspace::GetUserToolsManager获得指向CBCGPUserToolsManager 对象的指针。
- 对于要创建的每个工具,请调用CBCGPUserToolsManager::CreateNewTool。 它返回一个指向CBCGPUserTool 对象的指针,并将新创建的用户工具添加到内部工具集合中。
- 对于每个工具,设置其文本标签和命令((CBCGPUserTool::m_strLabel, CBCGPUserTool::SetCommand), CBCGPUserTool 的默认实现自动从SetCommand程序中指定的位置检索可用图标。
注意:如果您从CBCGPUserTool派生自己的类并在CBCGPWorkspace :: EnableUserTools中提供了其运行时信息,则CreateNewTool将动态创建CBCGPUserTool派生的对象。