演练:为智能设备创建 ATL 多平台 ActiveX 控件
更新:2007 年 11 月
可以使用用于设备的 Visual C++ 编写面向多种设备的 ActiveX 控件。下面的演练阐释如何生成多平台 ATL ActiveX 控件。
在本演练中,执行以下主要任务:
创建多平台智能设备 ATL 项目。
使用向导将 ActiveX 控件添加至项目。注意,大部分基本结构和代码都是由向导生成的。
修改 stdafx.h 和 samplecontrol.h 文件中的代码,以定义线程模型和避免编译器警告。
部署多平台解决方案。注意,还生成了一个 Internet Explorer 文件,以便测试和运行该控件。
本演练使用 Visual C++ 开发设置编写。
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 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。
说明: |
---|
面向 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”。此时,将显示一个或多个安全消息。单击“是”以运行该页。