共用方式為


逐步解說:為智慧型裝置建立 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 控制項

  1. 在 [檔案] 功能表上指向 [新增],按一下 [專案],展開 [專案類型] 窗格中的 [Visual C++] 節點,然後按一下 [智慧型裝置]。

  2. 在 [範本] 窗格中,按一下 [ATL 智慧型裝置專案]。

  3. 在 [名稱] 方塊中,輸入 ATLAXControl,再按一下 [確定]。

    [ATL 智慧型裝置專案精靈] 便會啟動。

  4. 按一下 [ATL 智慧型裝置精靈] 歡迎頁面上的 [下一步]。

    ATL 智慧型裝置專案精靈、平台便會顯示,以便讓您選取平台 SDK 以加入目前的專案。

  5. 從 [已安裝的 SDK] 清單,選取要加入目前專案的平台,例如 [Smartphone 2003] 和 [Pocket PC 2003]。若要加入平台,請在左窗格中選取平台 (例如 [Smartphone 2003]),然後按一下具有向右箭號 (>) 的按鈕。若要移除平台,請在右窗格中選取平台 (例如 [Pocket PC 2003]),然後按一下具有向左箭號 (<) 的按鈕。

  6. 按一下 [完成] 以完成並關閉精靈。

將 ActiveX 控制項加入專案中

若要將 ActiveX 控制項加入專案中

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [ATLAXControl]、指向 [加入],然後按一下 [類別]。

  2. 在 [分類] 窗格中,按一下 [智慧型裝置]。

  3. 在 [樣板] 窗格中,按一下 [ATL 控制項],然後按一下 [加入]。

    [ATL 控制項精靈] 對話方塊隨即出現。

  4. 在 [簡短名稱] 文字方塊中,輸入 samplecontrol。

  5. 按一下 [完成] 完成並關閉精靈。

修改標頭檔中的程式碼

若要修改 stdafx.h 中的程式碼

  1. 在 [方案總管] 中,按兩下 stdafx.h 在編輯器中將之開啟。

  2. 如下所示,在 #pragma once 之後加入下列定義 #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA:

        // Add this define after 
        #pragma once
    #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
    
  3. 將 ActiveX 控制項加入到專案中,如下列程序中所示。

若要將 ActiveX 控制項加入專案中

  1. 在 [方案總管] 中,按兩下 samplecontrol.h 使之在編輯器中開啟。

  2. 在定義 Isamplecontrol 的程式碼中,以 Hello World ActiveX Control 取代 ATL 8.0 : samplecontrol 字串。

注意事項:

在建置時,DCOM 平台的 ActiveX 控制項應該被標記為 Apartment Model 執行緒。這是 ATL 控制項精靈的預設值。您可以安全地忽略在進行編譯時所產生的警告。以及 ATL、GUI 和 EXE 專案,例如,您已經將 atlwin.h、atlctl.h 或 atlhost.h 加入到 ATL EXE 專案的那些對象,都應該在包含 ATL 標頭檔之前,先在 stdafx.h 之中定義 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA。這種做法和您為桌面開發時的做法相同。如需詳細資訊,請參閱建置和偵錯 Visual C++ 裝置專案

部署多平台 ATL 方案

若要部署方案

  1. 在 [建置] 功能表上,按一下 [重建方案] 建置控制項。

  2. 在 [建置] 功能表上,按一下 [部署方案]。

  3. 在 Visual Studio 工具列上的 [目標裝置] 下拉式清單中選取目標,例如 [Pocket PC 2003 SE 模擬器] 或 [Pocket PC 2003 裝置]。

  4. 在 [建置] 功能表上按一下 [部署]。

選擇目標裝置

若要確保系統會在您部置方案時出現裝置選擇提示,請完成下列程序。

若要在部署時提示裝置選擇

  1. 在 [工具] 功能表上按一下 [選項],並展開 [裝置工具] 節點,然後按一下 [一般]。

  2. 如果未顯示 [裝置工具],請選取位於 [選項] 對話方塊底部的 [顯示所有設定]。

  3. 選取 [部署裝置專案前顯示裝置選擇] 核取方塊,然後按一下 [確定]。

若要執行控制項,請使用裝置上的檔案總管,然後巡覽至 [Program Files\ATLAXControl],並按兩下 Internet Explorer 檔案 ATLAXControl,一或多項安全性訊息便會出現,按一下 [是] 返回頁面。

請參閱

參考

Visual C++ (智慧型裝置中的 [如何?])

其他資源

HOW TO:建立多平台裝置專案 (Visual C++)