MFC ActiveX 控制項: 方法
ActiveX 控制項就會引發事件本身和其控制項的容器之間進行通訊。 容器可以也與控制項通訊的方法和屬性。 方法也稱為函式。
方法和屬性提供匯出的介面來使用其他應用程式,例如自動化用戶端和 ActiveX 控制項容器。 如需有關 ActiveX 控制項屬性的詳細資訊,請參閱文章 MFC ActiveX 控制項: 屬性。
C + + 類別的成員函式的用途及目的類似的方法。 有兩種方法可以實作您的控制項類型: 內建和自訂。 類似於內建事件、 內建的方法是那些方法的 COleControl 提供實作。 如需有關內建方法的詳細資訊,請參閱文章 MFC ActiveX 控制項: 新增內建方法。 讓開發人員所定義的自訂方法可讓其他的自訂控制項。 如需詳細資訊,請參閱下面的文件 MFC ActiveX 控制項: 加入自訂方法。
程式庫 (MFC) 實作一機制,可讓您的控制項支援內建及自訂的方法。 第一個部分是類別COleControl。 從衍生CWnd, COleControl成員函式支援通用於所有的 ActiveX 控制項的內建方法。 這項機制的第二個部分是分派對應。 分派對應是類似的訊息對應。 不過,而非 Windows 的訊息識別碼的對應函式,分派對應會對應到 IDispatch ID 虛擬成員函式。
控制項能夠適當支援各種方法,它的類別必須宣告分派對應。 這是下行程式碼位於控制項類別標頭檔 (。H) 檔:
DECLARE_DISPATCH_MAP()
分派對應的主要目的是類別的建立在外部的呼叫者 (例如容器) 及控制項成員函式實作方法所使用的方法名稱之間的關係。 在宣告分派對應之後,它需要在控制項的實作 (。Cpp)。 下列程式碼定義分派對應:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
如果您使用 MFC ActiveX 控制項精靈來建立專案時,這行程式碼已自動加入。 如果未使用 MFC ActiveX 控制項精靈,您必須手動加入這行程式碼。
下列文件會針對方法進行詳細討論: