65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.83/5 (3投票s)

2001年7月8日

CPOL

2分钟阅读

viewsIcon

52052

downloadIcon

496

Visual Studio 插件,用于生成从 CObject 或其子类派生的类。包含序列化、Dump、AssertValid 等功能。

引言

许多程序员都有体会,VC 类向导不支持生成从 CObject 派生的类。由于我的大部分类都直接或间接地从 CObject 派生,我决定创建一个简单的插件来完成这项工作。

特点

  • 生成从 CObject 或其派生类创建的子类。
  • 支持序列化和可版本化模式的选项
  • 支持调试、AssertValid 和 Dump 的选项
  • 可选支持 Cocoon 文档生成器
  • 新生成的文件会自动添加到当前项目
  • 选项会自动保存到注册表中
  • 工具栏按钮用于调用插件

安装

  • 将文件 CreateObjectClass.dllCreateObjectClass.chm 复制到您的插件目录
  • 启动 Visual Studio
  • 选择菜单“工具” - “自定义...”选项卡“插件和宏文件”
  • 单击“浏览...”按钮并选择 CreateObjectClass.dll

现在您将看到 CreateObjectClass 工具栏,其中有一个按钮。单击该按钮并尝试一下。有关更多详细信息,请参阅帮助文件。

已知问题

  • 动态对象创建仅通过序列化支持。
  • 将来我还会支持从 CCmdTarget 派生的类(消息映射)
  • 由于某种原因,新类不会出现在类视图中。我认为这个问题是在我切换到 Service Pack 5 时发生的。您可以删除项目的 .opt.ncb 文件来修复此缺陷。如果您有任何解决方案,请告诉我。
  • 只需稍加努力,就可以以编程方式创建文件名。
  • 如果文件是在 CClassSpecificationDialogOnOk() 成员函数中生成的,那么该软件将更容易阅读。我现在太懒了,做不到。

法律问题

您可以在 GNU 公共许可协议的条件下使用此软件。如果您想改进代码,请告诉我。如果合理,我可以将其包含在下一个版本中。

源代码

源代码包含在下载文件中。核心是类 CClassSpecificationDialog。一切都相当简单明了。该对话框由类 CCommands 中的函数 CCommands::CreateObjectClassCommandMethod() 调用。

为了链接,您需要 Htmlhelp.lib。此库包含在 Microsoft 的 HTML Help workshop 中。

© . All rights reserved.