Třída CWindowImpl
Poskytuje metody pro vytváření nebo subclassing okna.
Důležité |
---|
Tuto třídu a její členy nelze použít v aplikacích, které jsou spuštěny v prostředí Windows Runtime. |
template <
class T,
class TBase= CWindow,
class TWinTraits= CControlWinTraits
>
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits>
Parametry
T
Novou třídu, odvozenou z CWindowImpl.TBase
Základní třída třídy.Výchozí základní třída je CWindow.TWinTraits
A vlastnostmi třídy definující styly okna.Výchozí hodnota je CControlWinTraits.
Členy
Veřejné metody
Název |
Description |
---|---|
Vytvoří okno. |
CWindowImplBaseT metody
Poskytuje výchozí zpracování zprávy. |
|
Vrátí aktuální zprávu. |
|
Vrátí aktuální procedury okna. |
|
Volat po přijetí poslední zprávy (obvykle WM_NCDESTROY). |
|
Podřízené okno. |
|
Obnoví dříve subclassed okně. |
Statické metody
Vrátí instanci statické CWndClassInfo, který spravuje informace třídy okna. |
|
Zpracovává zprávy odeslané do okna. |
Datové členy
Odkazuje na třídu okna původní okno postupu. |
Poznámky
Můžete použít CWindowImpl okno nebo vytvořit podtřídu existující okna. CWindowImpl okno procedura používá mapu zpráv pro směrování zpráv odpovídající obslužné rutiny.
CWindowImpl::Createvytvoří okno na základě informací třídy okna, které je spravováno službou CWndClassInfo.CWindowImplobsahuje DECLARE_WND_CLASS makro, což znamená CWndClassInfo zaregistruje novou třídu okna.Nadřazené třídy chcete existující třídy okna, jsou odvozeny vaší třídy z CWindowImpl a patří DECLARE_WND_SUPERCLASS makra.V tomto případě CWndClassInfo registruje třídu okna, která vychází z 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]
Vzhledem k tomu, CWndClassInfo spravuje informace o pouze jednu třídu okna, každé okno vytvořené prostřednictvím instance CWindowImpl je založena na stejnou třídu oken.
CWindowImpltaké podporuje vytváření podtříd okna.SubclassWindow Metoda přikládá stávající okna CWindowImpl objektu a změní postup okno CWindowImpl::WindowProc.Každý výskyt CWindowImpl můžete podtřídy jiného okna.
[!POZNÁMKA]
Pro všechny uvedené CWindowImpl objekt, zavolejte vytvořit nebo SubclassWindow.Obě metody pro stejný objekt nelze vyvolat.
Kromě CWindowImpl, ATL poskytuje CContainedWindow vytvořit okno obsažený v jiném objektu.
Základní třída destruktor (~CWindowImplRoot) zajišťuje, že okno je pryč před objekt zničen.
CWindowImplje odvozen od CWindowImplBaseT, která je odvozena z CWindowImplRoot, která je odvozena z TBase a CMessageMap.
Další informace o |
Odkaz |
---|---|
Vytváření ovládacích prvků |
|
Pomocí okna knihovny ATL |
|
Průvodce projektem knihovny ATL |
Hierarchie dědičnosti
TBase
CWindowImplRoot
CWindowImplBaseT
CWindowImpl
Požadavky
Záhlaví: atlwin.h