Třída CWindowImpl
Tato třída poskytuje metody pro vytváření nebo subclassing okna.
Důležité |
---|
Třídy a jejích členů nelze použít v aplikacích, které spustit v modulu Runtime v systému Windows. |
template <
class T,
class TBase= CWindow,
class TWinTraits= CControlWinTraits
>
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits>
Parametry
T
Vaší třídy odvozené z CWindowImpl .TBase
Základní třída nové třídy.Výchozí základní třída je CWindow.TWinTraits
A Vlastnosti třídy definující styly okna.Výchozí je CControlWinTraits.
Členy
Veřejné metody
Název |
Description |
---|---|
Vytvoří okno. |
Metody CWindowImplBaseT
Obsahuje výchozí zpracování zprávy. |
|
Vrátí aktuální zprávy. |
|
Vrátí aktuální okno postupu. |
|
Nazývá se po přijetí poslední zprávy (obvykle WM_NCDESTROY ). |
|
Podtřídy okno. |
|
Obnoví dříve subclassed okna. |
Statické metody
Vrátí statické instance CWndClassInfo, který spravuje informace třídy okna. |
|
Zpracuje zprávy odeslané do okna. |
Datové členy
Odkazuje na původní okno postupu třídu okna. |
Poznámky
CWindowImplumožňuje vytvořit nové okno nebo podtřídu existující okna.CWindowImplo postupu používá okno zprávy mapovat na přímé zprávy odpovídající obslužné rutiny.
CWindowImpl::CreateVytvoří nové okno na základě informací třídy okna spravované CWndClassInfo.CWindowImplobsahuje DECLARE_WND_CLASS makro, což znamená CWndClassInfo bude registrovat novou třídu okna.Pokud supertřída chcete existující třídu okna, odvození třídy z CWindowImpl a DECLARE_WND_SUPERCLASS makro.V tomto případě CWndClassInfo se zaregistrovat třídu okna, která je založena na existující třídy, ale používá CWindowImpl::WindowProc .Příklad:
class ATL_NO_VTABLE CMyWindow :
OtherInheritedClasses
public CComControl<CMyWindow>
// CComControl derives from CWindowImpl
{
public:
// 1. The NULL parameter means ATL will generate a
// name for the superclass
// 2. The "EDIT" parameter means the superclass is
// based on the standard Windows Edit box
DECLARE_WND_SUPERCLASS(NULL, _T("EDIT"))
// Remainder of class declaration omitted
[!POZNÁMKA]
Protože CWndClassInfo spravuje informace pro třídu v jediném okně, každé okno vytvořené prostřednictvím instance CWindowImpl budou založeny na stejné třídy okna.
CWindowImpltaké podporuje vytváření podtříd okna. SubclassWindow Metoda připojí ke stávajícím okně CWindowImpl objektu a změní postup okno CWindowImpl::WindowProc .Každá instance CWindowImpl mohou jiné okno podtřídy.
[!POZNÁMKA]
Pro všechny uvedené CWindowImpl objektů, buď volání vytvořit nebo SubclassWindow .Obě metody na stejný objekt neměly vyvolat.
Kromě CWindowImpl , poskytuje ATL CContainedWindow vytvořit okno obsažené v jiném objektu.
Základní třída destructor (~CWindowImplRoot) zajišťuje, že je okno pryč před objekt zničen.
CWindowImplpochází z CWindowImplBaseT, který je odvozen z CWindowImplRoot, která zase připadá na TBase a CMessageMap.
Další informace o |
Odkaz |
---|---|
Vytváření ovládacích prvků |
|
Pomocí systému windows v ATL |
|
Průvodce projektem knihovny ATL |
|
Windows |
Hierarchii dědičnosti
TBase
CWindowImplRoot
CWindowImplBaseT
CWindowImpl
Požadavky
Záhlaví: atlwin.h