用于创建从 CObject 派生的类的插件






4.83/5 (3投票s)
Visual Studio 插件,用于生成从 CObject 或其子类派生的类。包含序列化、Dump、AssertValid 等功能。
引言
许多程序员都有体会,VC 类向导不支持生成从 CObject
派生的类。由于我的大部分类都直接或间接地从 CObject
派生,我决定创建一个简单的插件来完成这项工作。
特点
- 生成从
CObject
或其派生类创建的子类。 - 支持序列化和可版本化模式的选项
- 支持调试、AssertValid 和 Dump 的选项
- 可选支持 Cocoon 文档生成器
- 新生成的文件会自动添加到当前项目
- 选项会自动保存到注册表中
- 工具栏按钮用于调用插件
安装
- 将文件 CreateObjectClass.dll 和 CreateObjectClass.chm 复制到您的插件目录
- 启动 Visual Studio
- 选择菜单“工具” - “自定义...”选项卡“插件和宏文件”
- 单击“浏览...”按钮并选择 CreateObjectClass.dll
现在您将看到 CreateObjectClass 工具栏,其中有一个按钮。单击该按钮并尝试一下。有关更多详细信息,请参阅帮助文件。
已知问题
- 动态对象创建仅通过序列化支持。
- 将来我还会支持从
CCmdTarget
派生的类(消息映射) - 由于某种原因,新类不会出现在类视图中。我认为这个问题是在我切换到 Service Pack 5 时发生的。您可以删除项目的 .opt 和 .ncb 文件来修复此缺陷。如果您有任何解决方案,请告诉我。
- 只需稍加努力,就可以以编程方式创建文件名。
- 如果文件是在
CClassSpecificationDialog
的OnOk()
成员函数中生成的,那么该软件将更容易阅读。我现在太懒了,做不到。
法律问题
您可以在 GNU 公共许可协议的条件下使用此软件。如果您想改进代码,请告诉我。如果合理,我可以将其包含在下一个版本中。
源代码
源代码包含在下载文件中。核心是类 CClassSpecificationDialog
。一切都相当简单明了。该对话框由类 CCommands
中的函数 CCommands::CreateObjectClassCommandMethod()
调用。
为了链接,您需要 Htmlhelp.lib。此库包含在 Microsoft 的 HTML Help workshop 中。