Sdílet prostřednictvím


Třída CWindowImpl

Tato třída poskytuje metody pro vytváření nebo subclassing okna.

Důležitá poznámkaDů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

h4616bh2.collapse_all(cs-cz,VS.110).gifVeřejné metody

Název

Description

CWindowImpl::Create

Vytvoří okno.

h4616bh2.collapse_all(cs-cz,VS.110).gifMetody CWindowImplBaseT

DefWindowProc

Obsahuje výchozí zpracování zprávy.

GetCurrentMessage

Vrátí aktuální zprávy.

GetWindowProc

Vrátí aktuální okno postupu.

OnFinalMessage

Nazývá se po přijetí poslední zprávy (obvykle WM_NCDESTROY ).

SubclassWindow

Podtřídy okno.

UnsubclassWindow

Obnoví dříve subclassed okna.

h4616bh2.collapse_all(cs-cz,VS.110).gifStatické metody

GetWndClassInfo

Vrátí statické instance CWndClassInfo, který spravuje informace třídy okna.

WindowProc

Zpracuje zprávy odeslané do okna.

h4616bh2.collapse_all(cs-cz,VS.110).gifDatové členy

m_pfnSuperWindowProc

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ů

Kurz ATL

Pomocí systému windows v ATL

Okno třídy ATL

Průvodce projektem knihovny ATL

Vytváření projektu knihovny ATL

Windows

O postupech pro Windows

Hierarchii dědičnosti

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Požadavky

Záhlaví: atlwin.h

Viz také

Referenční dokumentace

BEGIN_MSG_MAP

Třída CComControl

Další zdroje

Přehled třídy ATL