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

ATL 对象向导属性页

2000年1月18日

CPOL
viewsIcon

70143

downloadIcon

1238

一个允许您创建 ATL 对象向导属性页的向导

  • 下载源代码 - 38 KB
  • 下载模板和预编译的 DLL - 35 KB
  • 这个自定义向导允许你创建一个 ATL 对象向导属性页,该属性页可以在你自定义对象创建期间被调用。

    安装

    要安装 ATL 对象向导属性页组件,你需要下载 ATL_pp_wizard_dll.zip 并将文件提取到 '???\Program Files\Microsoft Visual Studio\Common\MSDev98\Template\ATL'。然后你需要使用 regsvr32.exe 注册 atlsymwz.dll。ATL 对象向导属性页组件应该就可以从 ATL 对象向导中使用。

    用法

    要创建你自己的 ATL 对象向导属性页,请遵循这些简单的步骤

    1. 使用菜单中的“新建 ATL 对象”选项启动 ATL 对象向导。

    2. 从向导类别中选择 ATL 对象向导组件。

      [注意:作为向导的最终测试,我使用原始向导作为起点重新创建了该向导]

    3. 像填写普通属性页对象一样填写名称和字符串页面。

      该向导类似于在控件类别下找到的属性页向导,但属性页面已被删除,并添加了以下页面。

    4. 填写“对象向导设置”页面。

      “类别”字段指示你希望你的组件归入哪个类别,而“标题”字段用于你希望给你的对象起的名字。还提供了另外两个字段,分别是“控制文件”和“图标文件”,这些字段指示你希望在选择你的对象时调用哪个 .ctl 文件,而图标文件用于在 ATL 对象向导中显示什么图标。如果这些文件尚不存在,则可以为它们创建存根。[注意:一些向导使用 control.ctl 作为控制文件,但提供不同的图标]

    5. 将你自己的控件添加到页面,并使用 ISymbolMap 接口创建你自己的符号。但是,在你开始创建你自己的自定义控件模板之前,我建议你也阅读参考资料,并调查当前在 '???\Program Files\Microsoft Visual Studio\Common\MSDev98\Template\ATL' 中可用的向导。

    自动生成的代码

    我提供了两种方法 EnableOK() 和 DisableOK(),用于启用和禁用属性表底部的“确定”按钮。如果你需要禁用“确定”按钮,并且只在用户填写了一些字段后才启用它,就像我使用这个向导所做的那样,那么我建议你在 Apply 方法中调用 DisableOK(),当 m_hWnd 为 NULL 时(请参阅 atlsymwiz.dll 的源代码。)

    参考文献

    • Template.txt 位于 '???\Program Files\Microsoft Visual Studio\Common\MSDev98\Template\ATL' - 这实际上是一个 HTML 文件,如果重命名或复制到 template.htm 会更容易

    • Q179385 - 如何:将自定义 ATL 对象添加到 ATL 对象向导

    • 自定义 ATL 对象向导的实际例子 - Glenn Carr - 应该可以在 Visual C++ Developers Journal 找到

    • Q223439 - 如何:使用类包装器访问 ATL 中的 Windows 公共控件

    Unicode

    即使我已使用 unicode 格式测试了代码,但我认为这没有必要,因为我希望向导在 VC6 下运行,无论它们是在 NT 还是 Win9x 下运行。

    STL

    因为我使用了 STL 来为我提供额外的功能,例如 maps 和 lists 等,所以这段代码在“警告级别 4”下编译时会产生已知的警告。

    历史

    2000 年 5 月 1 日:更新了源代码,以便向导插入注册代码,正如 Erik Thompson 所建议的那样

    © . All rights reserved.