實作事件處理介面
ATL 可協助您處理事件所需的所有三個元素:實作事件介面、建議事件來源,以及取消復原事件來源。 您必須採取的精確步驟取決於事件介面的類型和應用程式的效能需求。
使用 ATL 實作介面最常見的方式包括:
直接衍生自自定義介面。
衍生自 IDispEventSimpleImpl ,用於類型連結庫中未描述的 dispinterface,或當您想要藉由在運行時間不載入類型資訊來提高效率時。
如果您要實作自定義或雙重介面,您應該呼叫 AtlAdvise 或 CComPtrBase::Advise 來建議事件來源。 您必須自行追蹤呼叫所傳回的 Cookie。 呼叫 AtlUnadvise 以中斷連線。
如果您使用 或 IDispEventSimpleImpl
實作 dispinterfaceIDispEventImpl
,您應該呼叫 IDispEventSimpleImpl::D ispEventAdvise 來建議事件來源。 呼叫 IDispEventSimpleImpl::D ispEventUnadvise 來中斷連線。
如果您使用 IDispEventImpl
做為複合控件的基類,則會使用 CComCompositeControl::AdviseSinkMap 來建議並自動取消加入接收對應中所列的事件來源。
IDispEventImpl
和 IDispEventSimpleImpl
類別會為您管理 Cookie。