實作介面的事件處理。
ATL 協助您對於處理事件所需的全部三個項目的:實作事件介面,通知事件來源和 unadvising 事件來源。 您將需要其他的確切步驟取決於事件介面的類型和應用程式的效能需求。
實作使用 ATL 的介面最常見的方式是:
直接衍生自的自訂介面。
衍生自之型別描述的雙重介面的 IDispatchImpl 程式庫。
衍生自的型別描述所描述之介面的 IDispEventImpl 程式庫。
衍生自的型別沒有描述的分配介面的 IDispEventSimpleImpl 程式庫,或當您想要將不會載入此型別提升效率特定的資訊。
如果您實作自訂或雙重介面,您也應該呼叫 AtlAdvise 或 CComPtrBase::Advise通知事件來源。 您將需要記錄這個呼叫所傳回的 Cookie。 呼叫會中斷連接的 AtlUnadvise 。
使用 IDispEventImpl 或 IDispEventSimpleImpl,如果您實作分配介面 (Dispinterface),您也應該呼叫 IDispEventSimpleImpl::DispEventAdvise通知事件來源。 呼叫會中斷連接的 IDispEventSimpleImpl::DispEventUnadvise 。
如果您使用 IDispEventImpl 為複合控制項的基底類別,在接收對應中的事件來源使用 CComCompositeControl::AdviseSinkMap會自動通知和輕量的速率。
IDispEventImpl 和 IDispEventSimpleImpl 類別處理您的 Cookie。