MFC ActiveX 控制項:事件
ActiveX 控制項會使用事件來通知容器控制項發生問題。 常見的事件範例包括按一下控制項、使用鍵盤輸入的資料,以及控制項狀態的變更。 發生這些動作時,控制項會引發事件來警示容器。
事件也稱為訊息。
MFC 支援兩種事件:庫存和自訂。 庫存事件是 COleControl 類別 自動處理的事件。 如需庫存事件的完整清單,請參閱 MFC ActiveX 控制項:新增庫存事件 一文 。 自訂事件可讓控制項在發生該控制項特定的動作時通知容器。 某些範例會變更控制項的內部狀態,或收到特定視窗訊息。
若要讓控制項正確引發事件,您的控制項類別必須將控制項的每個事件對應至當相關事件發生時應該呼叫的成員函式。 此對應機制(稱為事件對應)會集中處理事件的相關資訊,並允許 Visual Studio 輕鬆存取及操作控制項的事件。 此事件對應是由位於 標頭中的下列宏所宣告。控制項類別宣告的 H) 檔案:
DECLARE_EVENT_MAP()
宣告事件對應之後,必須在控制項的實作中定義它 。。CPP) 檔案。 下列幾行程式碼會定義事件對應,讓您的控制項能夠引發特定事件:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()
如果您使用 MFC ActiveX 控制項精靈來建立專案,它會自動新增這幾行。 如果您未使用 MFC ActiveX 控制項精靈,則必須手動新增這幾行。
透過 [類別檢視],您可以新增類別 COleControl
或您定義的自訂事件所支援的庫存事件。 針對每個新事件,[類別檢視] 會自動將適當的專案新增至控制項的事件對應和控制項的 。IDL 檔案。
另外兩篇文章會詳細討論事件: