Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

摘要

ActiveX 控制項必須實作 IProvideClassInfo 或 IProvideClassInfo2 的介面,可讓 Web 網頁上的事件處理。Microsoft Internet Explorer 會使用這個介面來取得控制項的型別程式庫,並決定可用的事件集。

其他相關資訊

使用指令碼語言,例如 VBScript 或 JavaScript,網頁作者可以使用自動化來叫用方法/屬性,並處理放置在網頁的 HTML < 物件 > 標籤上的 ActiveX 控制項的事件。為一種 ActiveX 控制項,來支援這類的事件處理,它必須實作 IProvideClassInfo 或 IProvideClassInfo2 的介面。Internet Explorer 查詢這些介面的控制項,並且如果實作,呼叫 GetClassInfo() 方法,以取得控制項的型別程式庫。Internet Explorer 會將一開始查詢 IProvideClassInfo2 控制項,以及如果未實作,然後將查詢的介面衍生自 IProvideClassInfo,並提供另一種方法,GetGUID() 的 IProvideClassInfo.The IProvideClassInfo2會傳回物件的連出介面 ID,它的預設事件集。對於使用 Mfc 開發的 ActiveX 控制項,預設情況下實作 IProvideClassInfo2 介面。對於使用 Microsoft Visual Basic 開發的 ActiveX 控制項,預設情況下實作 IProvideClassInfo 介面。當使用 Microsoft 使用中範本程式庫 (ATL),版本 3.0 中,下列 [精簡控制] 的 ATL 物件不會實作 IProvideClassInfo2 介面預設情況下:

  • 簡單物件

  • Internet Explorer 物件

  • 精簡的控制項

  • 精簡的複合控制項

  • 精簡的 HTML 控制項

您可以輕鬆加入事件處理藉由實作 IProvideClassInfo 介面的支援。這是從預設的 ATL 實作,IProvideClassInfo2Impl 衍生您的控制項。

  1. 加入您的類別衍生清單中的下面這一行:

       public IProvideClassInfo2Impl<&CLSID_<object_name>, NULL,                                 &LIBID_<project_name>Lib>
  2. 將下列幾行加入至您的 COM_MAP 中:

       COM_INTERFACE_ENTRY(IProvideClassInfo)   COM_INTERFACE_ENTRY(IProvideClassInfo2)

參考

如需有關使用中的樣板程式庫和實作的 ActiveX 控制項的詳細資訊,請參閱 Microsoft Visual C++ 線上文件。如需有關 Microsoft Internet Explorer 開發以 Web 為基礎的解決方案的詳細資訊,請造訪下列 Microsoft 網站取得:

(c) Microsoft Corporation 1999,國際著作權公約保護。由標記 Davis,Microsoft Corporation 的貢獻。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×