Sdílet prostřednictvím


CWndClassInfo – třída

Tato třída poskytuje metody pro registraci informací pro třídu okna.

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

class CWndClassInfo

Členové

Veřejné metody

Název Popis
Registrace Zaregistruje třídu okna.

Datové členy

Název Popis
m_atom Jednoznačně identifikuje zaregistrovanou třídu okna.
m_bSystemCursor Určuje, zda prostředek kurzoru odkazuje na systémový kurzor nebo na kurzor obsažený v prostředku modulu.
m_lpszCursorID Určuje název prostředku kurzoru.
m_lpszOrigName Obsahuje název existující třídy okna.
m_szAutoName Obsahuje název třídy okna vygenerovaný atl.
m_wc Udržuje informace třídy okna ve struktuře WNDCLASSEX .
pWndProc Odkazuje na proceduru okna existující třídy okna.

Poznámky

CWndClassInfo spravuje informace třídy okna. Obvykle se používá CWndClassInfo prostřednictvím jednoho ze tří maker, DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX nebo DECLARE_WND_SUPERCLASS, jak je popsáno v následující tabulce:

Makro Popis
DECLARE_WND_CLASS CWndClassInfo registruje informace pro novou třídu okna.
DECLARE_WND_CLASS_EX CWndClassInfo registruje informace pro novou třídu okna, včetně parametrů třídy.
DECLARE_WND_SUPERCLASS CWndClassInfo registruje informace pro třídu okna, která je založena na existující třídě, ale používá jiný postup okna. Tato technika se nazývá supertřídy.

CWindowImpl ve výchozím nastavení obsahuje DECLARE_WND_CLASS makro pro vytvoření okna založeného na nové třídě okna. DECLARE_WND_CLASS poskytuje pro ovládací prvek výchozí styly a barvu pozadí. Pokud chcete určit styl a barvu pozadí sami, odvodit třídu a CWindowImpl zahrnout do definice třídy DECLARE_WND_CLASS_EX makro.

Pokud chcete vytvořit okno založené na existující třídě okna, odvodit třídu a CWindowImpl zahrnout DECLARE_WND_SUPERCLASS makro do definice třídy. 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

Další informace o třídách oken naleznete v tématu Třídy oken v sadě Windows SDK.

Další informace o používání oken v ATL naleznete v článku ATL Třídy oken.

Požadavky

Hlavička: atlwin.h

CWndClassInfo::m_atom

Obsahuje jedinečný identifikátor registrované třídy okna.

ATOM m_atom;

CWndClassInfo::m_bSystemCursor

Pokud je hodnota TRUE, systém kurzorový prostředek se načte při registraci třídy okna.

BOOL m_bSystemCursor;

Poznámky

Jinak se načte prostředek kurzoru obsažený v modulu.

CWndClassInfo používá m_bSystemCursor pouze tehdy , pokud je zadán DECLARE_WND_CLASS (výchozí hodnota v CWindowImpl) nebo DECLARE_WND_CLASS_EX makro. V tomto případě m_bSystemCursor se inicializuje na hodnotu TRUE. Další informace naleznete v přehledu CWndClassInfo .

CWndClassInfo::m_lpszCursorID

Určuje název prostředku kurzoru nebo identifikátor prostředku ve slově s nízkým pořadím a nulu ve slově s vysokým pořadím.

LPCTSTR m_lpszCursorID;

Poznámky

Při registraci třídy okna se úchyt kurzoru identifikovaný m_lpszCursorID pomocí m_wc načte a uloží.

CWndClassInfo používá m_lpszCursorID pouze tehdy , pokud je zadán DECLARE_WND_CLASS (výchozí hodnota v CWindowImpl) nebo DECLARE_WND_CLASS_EX makro. V tomto případě m_lpszCursorID se inicializuje na IDC_ARROW. Další informace naleznete v přehledu CWndClassInfo .

CWndClassInfo::m_lpszOrigName

Obsahuje název existující třídy okna.

LPCTSTR m_lpszOrigName;

Poznámky

CWndClassInfo používá m_lpszOrigName pouze tehdy, když do definice třídy zahrnete DECLARE_WND_SUPERCLASS makro. V tomto případě CWndClassInfo zaregistruje třídu okna založenou na třídě pojmenované .m_lpszOrigName Další informace naleznete v přehledu CWndClassInfo .

CWndClassInfo::m_szAutoName

Obsahuje název třídy okna.

TCHAR m_szAutoName[13];

Poznámky

CWndClassInfopoužívá m_szAutoName pouze v případě, že parametr předá WndClassName hodnotu NULL DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX nebo DECLARE_WND_SUPERCLASS. ATL vytvoří název při registraci třídy okna.

CWndClassInfo::m_wc

Udržuje informace třídy okna ve struktuře WNDCLASSEX .

WNDCLASSEX m_wc;

Poznámky

Pokud jste zadali DECLARE_WND_CLASS (výchozí v jazyce CWindowImpl) nebo makro DECLARE_WND_CLASS_EX , m_wc obsahuje informace o nové třídě okna.

Pokud jste zadali makro DECLARE_WND_SUPERCLASS , obsahuje informace o nadtřídě – třídě okna, která je založena na existující třídě, m_wc ale používá jiný postup okna. m_lpszOrigName a pWndProc uložte název a proceduru okna existující třídy okna.

CWndClassInfo::p WndProc

Odkazuje na proceduru okna existující třídy okna.

WNDPROC pWndProc;

Poznámky

CWndClassInfo používá pWndProc pouze tehdy, když do definice třídy zahrnete DECLARE_WND_SUPERCLASS makro. V tomto případě zaregistruje třídu okna, CWndClassInfo která je založená na existující třídě, ale používá jiný postup okna. Procedura okna existující třídy okna je uložena v pWndProc. Další informace naleznete v přehledu CWndClassInfo .

CWndClassInfo::Register

Volal CWindowImpl::Create pro registraci třídy okna, pokud ještě nebyl registrován.

ATOM Register(WNDPROC* pProc);

Parametry

pProc
[ven] Určuje původní proceduru okna existující třídy okna.

Návratová hodnota

V případě úspěchu atom, který jednoznačně identifikuje třídu okna, která je registrována. Jinak, 0.

Poznámky

Pokud jste zadali DECLARE_WND_CLASS (výchozí v jazyce CWindowImpl) nebo makro DECLARE_WND_CLASS_EX , Register zaregistruje novou třídu okna. V tomto případě se parametr pProc nepoužívá.

Pokud jste zadali DECLARE_WND_SUPERCLASS makro, Register zaregistruje supertřídu – třídu okna založenou na existující třídě, ale používá jiný postup okna. Procedura okna existující třídy okna je vrácena v pProc.

Viz také

CComControl – třída
Přehled třídy