Share via


Vensterklassemacro's

Opmerking

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

Deze macro's definiƫren vensterklassehulpprogramma's.

Naam Description
DECLARE_WND_CLASS Hiermee kunt u de naam van een nieuwe vensterklasse opgeven.
DECLARE_WND_CLASS2 (Visual Studio 2017) Hiermee kunt u de naam van een nieuwe vensterklasse en de omsluitklasse opgeven waarvan de vensterprocedure die door de nieuwe klasse wordt gebruikt.
DECLARE_WND_SUPERCLASS Hiermee kunt u de naam opgeven van een bestaande vensterklasse waarop een nieuwe vensterklasse wordt gebaseerd.
DECLARE_WND_CLASS_EX Hiermee kunt u de parameters van een klasse opgeven.

Requirements

Koptekst: atlwin.h

DECLARE_WND_CLASS

Hiermee kunt u de naam van een nieuwe vensterklasse opgeven. Plaats deze macro in de besturingselementklasse van een ATL ActiveX-besturingselement.

DECLARE_WND_CLASS( WndClassName )

Parameterwaarden

WndClassName
[in] De naam van de nieuwe vensterklasse. Als NULL is, genereert ATL een naam van de vensterklasse.

Opmerkingen

Als u de optie /permissive- compiler gebruikt, veroorzaakt DECLARE_WND_CLASS een compilerfout; gebruik in plaats daarvan DECLARE_WND_CLASS2.

DECLARE_WND_CLASS kunt u de naam van een nieuwe vensterklasse opgeven waarvan de gegevens worden beheerd door CWndClassInfo. DECLARE_WND_CLASS definieert de nieuwe vensterklasse door de volgende statische functie te implementeren:

static CWndClassInfo& GetWndClassInfo();

DECLARE_WND_CLASS geeft de volgende stijlen voor het nieuwe venster op:

  • CS_HREDRAW

  • CS_VREDRAW

  • CS_DBLCLKS

DECLARE_WND_CLASS geeft ook de achtergrondkleur van het standaardvenster op. Gebruik de DECLARE_WND_CLASS_EX macro om uw eigen stijlen en achtergrondkleur op te geven.

CWindowImpl gebruikt de DECLARE_WND_CLASS macro om een venster te maken op basis van een nieuwe vensterklasse. Als u dit gedrag wilt overschrijven, gebruikt u de DECLARE_WND_SUPERCLASS macro of geeft u uw eigen implementatie van de functie GetWndClassInfo op.

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

DECLARE_WND_CLASS2

(Visual Studio 2017) Vergelijkbaar met DECLARE_WND_CLASS, maar met een extra parameter die een afhankelijke naamfout voorkomt bij het compileren met de optie /permissive.

DECLARE_WND_CLASS2( WndClassName, EnclosingClass )

Parameterwaarden

WndClassName
[in] De naam van de nieuwe vensterklasse. Als NULL is, genereert ATL een naam van de vensterklasse.

EnclosingClass
[in] De naam van de vensterklasse die de nieuwe vensterklasse omsluit. Kan niet NULL zijn.

Opmerkingen

Als u de optie /permissive gebruikt, veroorzaakt DECLARE_WND_CLASS een compilatiefout omdat deze een afhankelijke naam bevat. DECLARE_WND_CLASS2 vereist dat u de klasse waarin deze macro wordt gebruikt expliciet een naam geeft en de fout niet veroorzaakt onder de vlag /permissive. Anders is deze macro identiek aan DECLARE_WND_CLASS.

DECLARE_WND_SUPERCLASS

Hiermee kunt u de parameters van een klasse opgeven. Plaats deze macro in de besturingselementklasse van een ATL ActiveX-besturingselement.

DECLARE_WND_SUPERCLASS( WndClassName, OrigWndClassName )

Parameterwaarden

WndClassName
[in] De naam van de vensterklasse die origWndClassName zal bevatten. Als NULL is, genereert ATL een naam van de vensterklasse.

OrigWndClassName
[in] De naam van een bestaande vensterklasse.

Opmerkingen

Met deze macro kunt u de naam opgeven van een vensterklasse die een bestaande vensterklasse zal vervangen. CWndClassInfo beheert de informatie van de superklasse.

DECLARE_WND_SUPERCLASS implementeert de volgende statische functie:

static CWndClassInfo& GetWndClassInfo();

Standaard gebruikt CWindowImpl de DECLARE_WND_CLASS macro om een venster te maken op basis van een nieuwe vensterklasse. Door de macro DECLARE_WND_SUPERCLASS op te geven in een CWindowImpl-afgeleide klasse, wordt de vensterklasse gebaseerd op een bestaande klasse, maar wordt de vensterprocedure gebruikt. Deze techniek wordt superklassen genoemd.

Naast het gebruik van de DECLARE_WND_CLASS en DECLARE_WND_SUPERCLASS macro's, kunt u de functie GetWndClassInfo overschrijven met uw eigen implementatie.

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

DECLARE_WND_CLASS_EX

Hiermee kunt u de naam opgeven van een bestaande vensterklasse waarop een nieuwe vensterklasse wordt gebaseerd. Plaats deze macro in de besturingselementklasse van een ATL ActiveX-besturingselement.

DECLARE_WND_CLASS_EX( WndClassName, style, bkgnd )

Parameterwaarden

WndClassName
[in] De naam van de nieuwe vensterklasse. Als NULL is, genereert ATL een naam van de vensterklasse.

stijl
[in] De stijl van het venster.

bkgnd
[in] De achtergrondkleur van het venster.

Opmerkingen

Met deze macro kunt u de klasseparameters van een nieuwe vensterklasse opgeven, waarvan de informatie wordt beheerd door CWndClassInfo. DECLARE_WND_CLASS_EX definieert de nieuwe vensterklasse door de volgende statische functie te implementeren:

static CWndClassInfo& GetWndClassInfo();

Als u de standaardstijlen en achtergrondkleur wilt gebruiken, gebruikt u de DECLARE_WND_CLASS macro. Zie het artikel ATL-vensterklassen voor meer informatie over het gebruik van vensters in ATL.

Zie ook

Macro's