Provádění zpracování rozhraní událostí
ATL pomůže všechny tři prvky potřebné pro zpracování událostí: implementace rozhraní události, radí zdroj události a zdroj události unadvising.Přesné kroky, které je třeba přijmout, závisí na typu rozhraní události a požadavky na výkon aplikace.
Nejběžnější způsoby provádění ATL pomocí rozhraní jsou:
Přímo vyplývající z vlastní rozhraní.
Vyplývající z IDispatchImpl pro duální rozhraní popsané v knihovně typů.
Vyplývající z IDispEventImpl pro dispinterfaces popsané v knihovně typů.
Vyplývající z IDispEventSimpleImpl pro dispinterfaces není popsána v knihovně typů nebo chcete zvýšit účinnost zavedení informace typu v době spuštění.
Pokud vlastní nebo duální rozhraní, měl radit zdroj události voláním AtlAdvise nebo CComPtrBase::Advise.Bude nutné ke sledování vrácené volání souboru cookie.Volání AtlUnadvise přerušte spojení.
Pokud omezené rozhraní IDispatch pomocí IDispEventImpl nebo IDispEventSimpleImpl , zdroj události by měl radit voláním IDispEventSimpleImpl::DispEventAdvise.Volání IDispEventSimpleImpl::DispEventUnadvise přerušte spojení.
Pokud používáte IDispEventImpl jako základní třída složený ovládací prvek zdroje událostí uvedených v mapě jímky bude advised a automaticky pomocí unadvised CComCompositeControl::AdviseSinkMap.
IDispEventImpl a IDispEventSimpleImpl třídy můžete spravovat soubor cookie.