Sdílet prostřednictvím


Koncepty knihovny ATL (Active Template Library)

Knihovna ATL (Active Template Library) je sada tříd C++ založených na šablonách, které umožňují vytvářet malé a rychlé objekty modelu COM (Component Object Model). Má zvláštní podporu klíčových funkcí modelu COM, včetně implementací zásob, duálních rozhraní, standardních rozhraní enumerátoru COM, spojovacích bodů, rozhraní pro odtržování a technologie ActiveX ovládacích prvků.

Pokud provádíte hodně programování ATL, budete se chtít dozvědět více o atributech COM a .NET, které jsou navržené tak, aby zjednodušily programování modelu COM. Další informace naleznete v tématu Programování s atributy. (Atributy COM a .NET nejsou zaměňovány s funkcí [[attribute]] ve standardu C++.)

V tomto oddílu

Úvod do modelu COM a knihovny ATL
Představuje hlavní koncepty modelu COM (Component Object Model). Tento článek také stručně vysvětluje, co je ATL a kdy byste ho měli použít.

Základy ATL – objekty COM
Popisuje vztah mezi různými třídami ATL a způsobem implementace těchto tříd.

Duální rozhraní a ATL
Popisuje duální rozhraní z pohledu ATL.

ATL – kolekce a výčty
Popisuje implementaci a vytváření kolekcí a výčtů v ATL.

Základy složeného ovládacího prvku
Obsahuje podrobné pokyny k vytvoření složeného ovládacího prvku. Složený ovládací prvek je typ technologie ActiveX ovládacího prvku, který může obsahovat jiné ovládací prvky technologie ActiveX nebo ovládací prvky Windows.

Nejčastější dotazy k používání kontejnerů ovládacích prvků v knihovně ATL
Řeší základní otázky související s hostitelskými ovládacími prvky pomocí ATL.

ATL COM – stránky vlastností
Ukazuje, jak zadat a implementovat stránky vlastností modelu COM.

ATL – podpora ovládacích prvků DHTML
Obsahuje podrobné pokyny k vytvoření ovládacího prvku DHTML.

ATL – body připojení
Vysvětluje, co jsou spojovací body a jak je ATL implementuje.

Zpracování událostí a ATL
Popisuje kroky, které je potřeba provést pro zpracování událostí modelu COM pomocí tříd IDispEventImpl a IDispEventSimpleImpl.

ATL a volné zařazování vláken
Poskytuje podrobnosti o možnosti Průvodce jednoduchým objektem ATL, která vaší třídě umožňuje agregovat volný zařazovač vláken (FTM).

Určení modelu vláken projektu
Popisuje makra, která jsou k dispozici pro řízení výkonu za běhu související s vlákny v projektu.

ATL – třídy modulů
Popisuje nové třídy modulů pro ATL 7.0. Třídy modulů implementují základní funkce vyžadované ATL.

Služby ATL
Popisuje řadu událostí, ke kterým dochází při implementaci služby. Hovoří také o některých konceptech souvisejících s vývojem služby.

ATL – třídy oken
Popisuje, jak vytvořit okna nadtřídy a podtřídy v ATL. Třídy oken ATL nejsou třídy modelu COM.

ATL – třídy kolekce
Popisuje, jak používat pole a mapy v ATL.

Komponenta registru ATL (registrátor)
Popisuje syntaxi skriptování ATL a nahraditelné parametry. Vysvětluje také, jak nastavit statický odkaz na registrátora.

Programování s použitím knihovny ATL a běhového kódu jazyka C
Popisuje výhody statického nebo dynamického propojení s knihovnou C Run-Time (CRT).

Programování pomocí CComBSTR
Popisuje několik situací, které vyžadují opatrnost při programování s CComBSTR.

Referenční dokumentace ke kódování
Poskytuje funkce a makra, která podporují kódování v řadě běžných internetových standardů, jako je uuencode, hexadecimal a UTF8 in atlenc.h.

Referenční informace k nástrojům
Poskytuje kód pro manipulaci s cestami a adresami URL ve formě CPathT a CUrl. Fond vláken CThreadPool lze použít ve vlastních aplikacích. Tento kód najdete v souboru atlpath.h a atlutil.h.

Kurz ATL
Provede vás vytvořením ovládacího prvku a předvádí některé základy ATL v procesu.

Ukázky ATL
Obsahuje popisy ukázkových programů ATL a jejich odkazy.

Vytvoření projektu ATL
Obsahuje informace o průvodci projektem ATL.

Průvodce ovládacími prvky ATL
Popisuje, jak přidat třídy.

Programování s atributy
Poskytuje přehled o používání atributů pro zjednodušení programování modelu COM a seznam odkazů na podrobnější témata.

Přehled třídy ATL
Poskytuje referenční informace a odkazy na třídy ATL.