Implementace rozhraní zpracování událostí
ATL vám pomůže se všemi třemi prvky potřebnými pro zpracování událostí: implementací rozhraní událostí, doporučením zdroje událostí a nesousedícím zdrojem událostí. Přesné kroky, které budete muset provést, závisí na typu rozhraní událostí a požadavcích na výkon vaší aplikace.
Nejběžnějšími způsoby implementace rozhraní pomocí knihovny ATL jsou:
Odvozování z vlastního rozhraní přímo.
Odvození z IDispatchImpl pro duální rozhraní popsané v knihovně typů.
Odvození z IDispEventImpl pro dispinterfaces popsané v knihovně typů.
Odvození z IDispEventSimpleImpl pro dispinterfaces, které nejsou popsány v knihovně typů nebo pokud chcete zlepšit efektivitu tím, že nenačítá informace o typu za běhu.
Pokud implementujete vlastní nebo duální rozhraní, měli byste poradit zdroj událostí voláním AtlAdvise nebo CComPtrBase::Radte. Budete muset sledovat soubor cookie vrácený voláním sami. Volání AtlUnadvise k přerušení připojení.
Pokud implementujete dispinterface pomocí IDispEventImpl
nebo IDispEventSimpleImpl
, měli byste poradit zdroj události voláním IDispEventSimpleImpl::D ispEventAdvise. Volání IDispEventSimpleImpl::D ispEventUnadvise pro přerušení připojení.
Pokud používáte IDispEventImpl
jako základní třídu složeného ovládacího prvku, budou zdroje událostí uvedené v mapě jímky doporučeny a nebudou automaticky označeny pomocí CComCompositeControl::AdviseSinkMap.
Soubory cookie za vás spravují a IDispEventImpl
IDispEventSimpleImpl
třídy.