Share via


CWndClassInfo-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse biedt methoden voor het registreren van informatie voor een vensterklasse.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CWndClassInfo

Leden

Openbare methoden

Naam Description
Registreren Registreert de vensterklasse.

Gegevensleden

Naam Description
m_atom Hiermee wordt de geregistreerde vensterklasse uniek geïdentificeerd.
m_bSystemCursor Hiermee geeft u op of de cursorresource verwijst naar een systeemcursor of naar een cursor in een moduleresource.
m_lpszCursorID Hiermee geeft u de naam van de cursorresource op.
m_lpszOrigName Bevat de naam van een bestaande vensterklasse.
m_szAutoName Bevat een door ATL gegenereerde naam van de vensterklasse.
m_wc Onderhoudt informatie over vensterklassen in een WNDCLASSEX structuur.
pWndProc Verwijst naar de vensterprocedure van een bestaande vensterklasse.

Opmerkingen

CWndClassInfo beheert de informatie van een vensterklasse. Meestal gebruikt CWndClassInfo u een van de drie macro's, DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX of DECLARE_WND_SUPERCLASS, zoals beschreven in de volgende tabel:

Macroniveau Description
DECLARE_WND_CLASS CWndClassInfo registreert informatie voor een nieuwe vensterklasse.
DECLARE_WND_CLASS_EX CWndClassInfo registreert informatie voor een nieuwe vensterklasse, inclusief de klasseparameters.
DECLARE_WND_SUPERCLASS CWndClassInfo registreert informatie voor een vensterklasse die is gebaseerd op een bestaande klasse, maar gebruikt een andere vensterprocedure. Deze techniek wordt superklassen genoemd.

Standaard bevat CWindowImpl de DECLARE_WND_CLASS macro om een venster te maken op basis van een nieuwe vensterklasse. DECLARE_WND_CLASS biedt standaardstijlen en achtergrondkleur voor het besturingselement. Als u zelf de stijl en achtergrondkleur wilt opgeven, moet u uw klas afleiden uit CWindowImpl en de DECLARE_WND_CLASS_EX macro opnemen in uw klassedefinitie.

Als u een venster wilt maken op basis van een bestaande vensterklasse, moet u uw klas afleiden uit CWindowImpl en de DECLARE_WND_SUPERCLASS macro opnemen in uw klassedefinitie. Voorbeeld:

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

Zie Vensterklassen in de Windows SDK voor meer informatie over vensterklassen.

Zie het artikel ATL-vensterklassen voor meer informatie over het gebruik van vensters in ATL.

Requirements

Koptekst: atlwin.h

CWndClassInfo::m_atom

Bevat de unieke id voor de geregistreerde vensterklasse.

ATOM m_atom;

CWndClassInfo::m_bSystemCursor

Als WAAR is, wordt de systeemcursorresource geladen wanneer de vensterklasse is geregistreerd.

BOOL m_bSystemCursor;

Opmerkingen

Anders wordt de cursorresource in uw module geladen.

CWndClassInfo wordt alleen gebruikt m_bSystemCursor wanneer de DECLARE_WND_CLASS (de standaardinstelling in CWindowImpl) of de DECLARE_WND_CLASS_EX macro is opgegeven. In dit geval m_bSystemCursor wordt geïnitialiseerd op TRUE. Zie het overzicht van CWndClassInfo voor meer informatie.

CWndClassInfo::m_lpszCursorID

Hiermee geeft u de naam van de cursorresource of de resource-id in het woord met lage volgorde en nul in het woord in hoge volgorde op.

LPCTSTR m_lpszCursorID;

Opmerkingen

Wanneer de vensterklasse is geregistreerd, wordt de greep naar de cursor opgehaald m_lpszCursorID en opgeslagen door m_wc.

CWndClassInfo wordt alleen gebruikt m_lpszCursorID wanneer de DECLARE_WND_CLASS (de standaardinstelling in CWindowImpl) of de DECLARE_WND_CLASS_EX macro is opgegeven. In dit geval m_lpszCursorID wordt geïnitialiseerd voor IDC_ARROW. Zie het overzicht van CWndClassInfo voor meer informatie.

CWndClassInfo::m_lpszOrigName

Bevat de naam van een bestaande vensterklasse.

LPCTSTR m_lpszOrigName;

Opmerkingen

CWndClassInfo wordt alleen gebruikt m_lpszOrigName wanneer u de DECLARE_WND_SUPERCLASS macro in uw klassedefinitie opneemt. In dit geval CWndClassInfo wordt een vensterklasse geregistreerd op basis van de klasse met de naam .m_lpszOrigName Zie het overzicht van CWndClassInfo voor meer informatie.

CWndClassInfo::m_szAutoName

Bevat de naam van de vensterklasse.

TCHAR m_szAutoName[13];

Opmerkingen

CWndClassInfo gebruikt m_szAutoName alleen als NULL voor de WndClassName parameter wordt doorgegeven aan DECLARE_WND_CLASS, de DECLARE_WND_CLASS_EX of DECLARE_WND_SUPERCLASS. ATL maakt een naam wanneer de vensterklasse is geregistreerd.

CWndClassInfo::m_wc

Onderhoudt de vensterklasse-informatie in een WNDCLASSEX-structuur .

WNDCLASSEX m_wc;

Opmerkingen

Als u de DECLARE_WND_CLASS (de standaardinstelling in CWindowImpl) of de DECLARE_WND_CLASS_EX macro hebt opgegeven, m_wc bevat deze informatie over een nieuwe vensterklasse.

Als u de DECLARE_WND_SUPERCLASS macro hebt opgegeven, m_wc bevat deze informatie over een superklasse, een vensterklasse die is gebaseerd op een bestaande klasse, maar een andere vensterprocedure gebruikt. m_lpszOrigName en pWndProc slaan respectievelijk de naam en vensterprocedure van de bestaande vensterklasse op.

CWndClassInfo::p WndProc

Verwijst naar de vensterprocedure van een bestaande vensterklasse.

WNDPROC pWndProc;

Opmerkingen

CWndClassInfo wordt alleen gebruikt pWndProc wanneer u de DECLARE_WND_SUPERCLASS macro in uw klassedefinitie opneemt. In dit geval CWndClassInfo wordt een vensterklasse geregistreerd die is gebaseerd op een bestaande klasse, maar een andere vensterprocedure gebruikt. De vensterprocedure van de bestaande vensterklasse wordt opgeslagen in pWndProc. Zie het overzicht van CWndClassInfo voor meer informatie.

CWndClassInfo::Registreren

Aangeroepen door CWindowImpl::Maak om de vensterklasse te registreren als deze nog niet is geregistreerd.

ATOM Register(WNDPROC* pProc);

Parameterwaarden

pProc
[uit] Hiermee geeft u de oorspronkelijke vensterprocedure van een bestaande vensterklasse.

Retourwaarde

Als dit lukt, identificeert een atoom dat de vensterklasse uniek identificeert die wordt geregistreerd. Anders 0.

Opmerkingen

Als u de DECLARE_WND_CLASS (de standaardinstelling in CWindowImpl) of de DECLARE_WND_CLASS_EX-macro hebt opgegeven, Register registreert u een nieuwe vensterklasse. In dit geval wordt de pProc-parameter niet gebruikt.

Als u de DECLARE_WND_SUPERCLASS macro hebt opgegeven, Register registreert u een superklasse: een vensterklasse die is gebaseerd op een bestaande klasse, maar een andere vensterprocedure gebruikt. De vensterprocedure van de bestaande vensterklasse wordt geretourneerd in pProc.

Zie ook

CComControl-klasse
Overzicht van klassen