更新:2007 年 11 月
可以使用用于设备的 Visual C++ 编写面向多种设备的 ActiveX 控件。下面的演练阐释如何生成多平台 ATL ActiveX 控件。
在本演练中,执行以下主要任务:
- 创建多平台智能设备 ATL 项目。 
- 使用向导将 ActiveX 控件添加至项目。注意,大部分基本结构和代码都是由向导生成的。 
- 修改 stdafx.h 和 samplecontrol.h 文件中的代码,以定义线程模型和避免编译器警告。 
- 部署多平台解决方案。注意,还生成了一个 Internet Explorer 文件,以便测试和运行该控件。 
本演练使用 Visual C++ 开发设置编写。
| .gif) 说明: | 
|---|
| 显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 | 
创建多平台 ATL ActiveX 控件
创建多平台 ATL ActiveX 控件
- 在“文件”菜单上指向“新建”,单击“项目”,在“项目类型”窗格中展开“Visual C++”节点,然后单击“智能设备”。 
- 在“模板”窗格中单击“ATL 智能设备项目”。 
- 在“名称”框中键入“ATLAXControl”,再单击“确定”。 - 此时,将启动“ATL 智能设备项目向导”。 
- 在“ATL 智能设备项目向导”的“欢迎”页上单击“下一步”。 - 显示 “ATL 智能设备项目向导”的“平台”,此时您可以选择要添加到当前项目的 Platform SDK。 
- 从“已安装的 SDK”列表中选择要添加到当前项目中的平台,例如“Smartphone 2003”和“Pocket PC 2003”。若要添加平台,请在左窗格中选择该平台(如“Smartphone 2003”),然后单击右箭头(“>”)按钮。若要移除平台,请在右边窗格中选择该平台(如“Pocket PC 2003”),然后单击左箭头(“<”)按钮。 
- 单击“完成”以完成并关闭向导。 
向项目添加 ActiveX 控件
向项目添加 ActiveX 控件
- 在“解决方案资源管理器”中右击“ATLAXControl”,指向“添加”,再单击“类”。 
- 在“类别”窗格中单击“智能设备”。 
- 在“模板”窗格中,单击“ATL 控件”,再单击“添加”。 - 将出现“ATL 控件向导”对话框。 
- 在“简称”文本框中,键入 samplecontrol。 
- 单击“完成”以完成并关闭向导。 
修改头文件中的代码
修改 stdafx.h 中的代码
- 在“解决方案资源管理器”中,双击 stdafx.h 以在编辑器中打开该文件。 
- 在 #pragma once 后面添加以下定义 #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA,如下所示: - // Add this define after #pragma once #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
- 按下面的步骤演示,将 ActiveX 控件添加至项目。 
向项目添加 ActiveX 控件
- 在“解决方案资源管理器”中,双击 samplecontrol.h 以在编辑器中打开该文件。 
- 在定义 Isamplecontrol 的代码中,将字符串 ATL 8.0 : samplecontrol 替换为 Hello World ActiveX Control。 
| .gif) 说明: | 
|---|
| 面向 DCOM 平台的 ActiveX 控件必须在生成时标记为单元模型线程。这是 ATL 控件向导的默认设置。可以放心忽略编译过程中生成的警告。同样,对于 ATL、GUI 和 EXE 项目(例如已向 ATL EXE 项目中添加了 atlwin.h、atlctl.h 或 atlhost.h 的项目),在包含 ATL 头文件之前,应在 stdafx.h 中定义 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA。这种做法与开发桌面控件时相同。有关更多信息,请参见 生成并调试 Visual C++ 设备项目。 | 
部署多平台 ATL 解决方案
部署解决方案
- 在“生成”菜单上单击“重新生成解决方案”以生成控件。 
- 在“生成”菜单上单击“部署解决方案”。 
- 在 Visual Studio 工具栏上的“目标设备”下拉列表中选择目标,例如“Pocket PC 2003 SE 仿真程序”或“Pocket PC 2003 设备”。 
- 在“生成”菜单上单击“部署”。 
选择目标设备
为了确保在部署解决方案时系统提示您选择设备,请完成以下过程。
在部署时提示选择设备
- 在“工具”菜单上单击“选项”,展开“设备工具”节点,再单击“常规”。 
- 如果“设备工具”不可见,请选择“选项”对话框底部的“显示所有设置”。 
- 选择“部署设备项目前显示设备选项”复选框,再单击“确定”。 
若要运行控件,请在设备上使用文件资源管理器定位至“Program Files\ATLAXControl”,再双击 Internet Explorer 文件“ATLAXControl”。此时,将显示一个或多个安全消息。单击“是”以运行该页。