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