HOW TO:將 ActiveX 控制項裝載在對話方塊資源中
更新:2007 年 11 月
當您使用 Visual Studio 設計適用於裝置的 ActiveX 控制項時,需要加入一些額外的步驟。控制項必須已在桌上型電腦中註冊,才能由 [資源編輯器] 在設計階段加以管理。此外,您無法在桌上型電腦中註冊裝置控制項。下列步驟提供了替代的設計階段體驗。下列程序假設您已擁有 ActiveX 控制項專案和主專案,而且在對話方塊中裝載了 ActiveX 控制項。
注意事項: |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要使用對話方塊編輯器加入 ActiveX 控制項
在 [對話方塊編輯器] 中,開啟主專案的對話方塊。
從 [工具箱] 將自訂控制項拖曳到對話方塊上。
將自訂控制項放在對話方塊中並調整其大小,以反映您希望 ActiveX 控制項呈現的方式。
以滑鼠右鍵按一下自訂控制項,然後按一下 [屬性]。
在 [類別] 屬性中,貼上 ActiveX 控制項的 GUID。請記得包含大括號 "{…}"。
在 [方案總管] 中,以滑鼠右鍵按一下 Project Name.RC2 檔案,然後按一下 [檢視程式碼]。
在 [在此手動加入編輯的資源] 區段中,加入下列程式碼。自訂控制項需要對話方塊的 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
建置及執行您的主專案。請記得在目標裝置上部署及註冊 ActiveX 控制項。
若要使用替代方法來裝載 ActiveX 控制項
在應用程式的某個點呼叫 AtlAxWinInit,以註冊 AtlAxWin80 視窗類別。
ATL 應用程式會在模組初始化程式碼中執行這項動作,Win32 應用程式應該在 WinMain 函式內呼叫這個函式。請針對 MFC 應用程式執行下列步驟:
以滑鼠右鍵按一下 [方案總管] 中的專案節點,指向 [加入],然後按一下 [類別]。
按一下 [將 ATL 支援加入至 MFC] (位於 [智慧型裝置] 標題下方)。
將 AtlAxWinInit 呼叫加入至主應用程式 (Host Application) 類別的 InitInstance 方法最上方。
在對話方塊資源中 (例如 ATL 對話方塊或複合控制項 (Composite Control),或是 MFC 對話方塊):
從 [工具箱] 拖曳一個自訂控制項。
將視窗類別屬性設定為 AtlAxWin80。
將標題設定為大括號內的 GUID 或 progid。
請針對 MFC 加入 atl.lib 當做其他連結輸入。
請針對 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