共用方式為


HOW TO:將 ActiveX 控制項裝載在對話方塊資源中

更新:2007 年 11 月

當您使用 Visual Studio 設計適用於裝置的 ActiveX 控制項時,需要加入一些額外的步驟。控制項必須已在桌上型電腦中註冊,才能由 [資源編輯器] 在設計階段加以管理。此外,您無法在桌上型電腦中註冊裝置控制項。下列步驟提供了替代的設計階段體驗。下列程序假設您已擁有 ActiveX 控制項專案和主專案,而且在對話方塊中裝載了 ActiveX 控制項。

注意事項:

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定

若要使用對話方塊編輯器加入 ActiveX 控制項

  1. 在 [對話方塊編輯器] 中,開啟主專案的對話方塊。

  2. 從 [工具箱] 將自訂控制項拖曳到對話方塊上。

  3. 將自訂控制項放在對話方塊中並調整其大小,以反映您希望 ActiveX 控制項呈現的方式。

  4. 以滑鼠右鍵按一下自訂控制項,然後按一下 [屬性]。

  5. 在 [類別] 屬性中,貼上 ActiveX 控制項的 GUID。請記得包含大括號 "{…}"。

  6. 在 [方案總管] 中,以滑鼠右鍵按一下 Project Name.RC2 檔案,然後按一下 [檢視程式碼]。

  7. 在 [在此手動加入編輯的資源] 區段中,加入下列程式碼。自訂控制項需要對話方塊的 init 區段,才能正確顯示,不會使用實際對話方塊的 init 區段內容。請記得以專案的名稱取代 <project name>。

    IDD_<project name>_DIALOG DLGINIT BEGIN IDC_CUSTOM1, 0x376, 22, 0 0x0000, 0x0000, 0x0800, 0x0000, 0x094d, 0x0000, 0x043d, 0x0000, 0x0013, 0xcdcd, 0xcdcd, 0
    
  8. 建置及執行您的主專案。請記得在目標裝置上部署及註冊 ActiveX 控制項。

若要使用替代方法來裝載 ActiveX 控制項

  1. 在應用程式的某個點呼叫 AtlAxWinInit,以註冊 AtlAxWin80 視窗類別。

    ATL 應用程式會在模組初始化程式碼中執行這項動作,Win32 應用程式應該在 WinMain 函式內呼叫這個函式。請針對 MFC 應用程式執行下列步驟:

    1. 以滑鼠右鍵按一下 [方案總管] 中的專案節點,指向 [加入],然後按一下 [類別]。

    2. 按一下 [將 ATL 支援加入至 MFC] (位於 [智慧型裝置] 標題下方)。

    3. AtlAxWinInit 呼叫加入至主應用程式 (Host Application) 類別的 InitInstance 方法最上方。

  2. 在對話方塊資源中 (例如 ATL 對話方塊或複合控制項 (Composite Control),或是 MFC 對話方塊):

    1. 從 [工具箱] 拖曳一個自訂控制項。

    2. 將視窗類別屬性設定為 AtlAxWin80。

    3. 將標題設定為大括號內的 GUID 或 progid。

  3. 請針對 MFC 加入 atl.lib 當做其他連結輸入。

  4. 請針對 MFC,將這幾行加入 [部署 | 其他檔案] 選項。儘管這幾行在動態連結程式庫都已存在,但是在 MFC 靜態連結程式庫,則需要加入這幾行。

    msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
    atl80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
    msvcr80d.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0
    

請參閱

其他資源

使用 Visual C++ 進行裝置的程式設計