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
CWndClassInfo
použí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.