BCGControlBar使用工具教程

BCGControlBar Pro for MFC最新试用版下载请猛戳>>>download
BCGControlBardownload库框架支持用户定义的工具。用户定义的工具是一个特殊的菜单项,它执行由用户指定的外部程序。用户定义的工具管理是定制过程的一部分,由框架实现。

如果启用,自定义对话框将自动插入“Tools”属性页。以下是“Tools”页面的图片:

BCGControlBar使用工具教程

要在应用程序中启用用户定义的工具,您需要执行以下步骤:

1、在资源编辑器中,使用ID_TOOLS_ENTRY 命令ID 创建一个虚拟菜单项。

2、(可选)您可以帮助用户选择工具的目录和参数(外部程序)。在资源编辑器中创建两个弹出菜单ID_MENU_ARGS和ID_MENU_DIRS。

3、您必须告知框架您的应用程序中允许使用多少个用户定义的工具。工具的命令ID必须是 连续的数字。例如,定义ID_USER_TOOL1到 ID_USER_TOOL10 字符串表,以等待10点的工具。

4、调用CBCGPWorkspace :: EnableUserTools 以启用用户定义的工具。指定ID_TOOLS_ENTRY作为伪命令ID, ID_USER_TOOL1和ID_USER_TOOL10作为工具命令的间隔,RUNTIME_CLASS(CBCGPUserTool)用于处理特定用户工具的类。该ID_MENU_ARGS和 ID_MENU_DIRS 弹出菜单是可选的。

5、当您调用自定义对话框(在此示例中为OnViewCustomize)时,始终调用CBCGPToolbarCustomize :: EnableUserTools将“工具”页面插入自定义属性表。

注意。框架将搜索IDTOOLSENTRY 并将其替换为实际的用户定义工具条目(如果有)。如果要实现处理用户工具的自定义对象,请从CBCGPUserTool类派生一个类,并在调用EnableUserTools时提供其运行时类信息

如果您需要在应用程序启动时预定义某些工具:

1、覆盖LoadFrame函数(它是CBCGPFrameWnd, CBCGPMDIFrameWnd和CBCGPOleIPFrameWnd 类的成员)。

2、通过调用CBCGPWorkspace :: GetUserToolsManager获取指向CBCGPUserToolsManager对象的指针。

3、对于要创建的每个工具,调用 CBCGPUserToolsManager :: CreateNewTool。它返回指向 CBCGPUserTool对象的指针,并将新创建的用户工具添加到内部工具集合中。

4、对于每个工具,设置其文本标签和命令(CBCGPUserTool :: m_strLabel, CBCGPUserTool :: SetCommand)。 CBCGPUserTool的默认实现 自动从SetCommand程序中指定的可用图标。

注意。如果从CBCGPUserTool派生自己的类并在CBCGPWorkspace :: EnableUserTools中提供其运行时信息,则 CreateNewTool会动态 创建CBCGPUserTool派生的对象。

猜你喜欢

转载自blog.51cto.com/13993266/2305004