Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Te makra definiują narzędzia klasy okien.
Nazwa/nazwisko | opis |
---|---|
DECLARE_WND_CLASS | Umożliwia określenie nazwy nowej klasy okna. |
DECLARE_WND_CLASS2 | (Visual Studio 2017) Umożliwia określenie nazwy nowej klasy okna i otaczającej klasy, której procedura okna będzie używana przez nową klasę. |
DECLARE_WND_SUPERCLASS | Umożliwia określenie nazwy istniejącej klasy okna, na której będzie oparta nowa klasa okien. |
DECLARE_WND_CLASS_EX | Umożliwia określenie parametrów klasy. |
Wymagania
Nagłówek: atlwin.h
DECLARE_WND_CLASS
Umożliwia określenie nazwy nowej klasy okna. Umieść to makro w klasie kontrolki ActiveX ATL.
DECLARE_WND_CLASS( WndClassName )
Parametry
WndClassName
[in] Nazwa nowej klasy okna. Jeśli wartość NULL, usługa ATL wygeneruje nazwę klasy okna.
Uwagi
Jeśli używasz opcji /permissive- kompilatora, DECLARE_WND_CLASS spowoduje błąd kompilatora; Zamiast tego użyj DECLARE_WND_CLASS2.
DECLARE_WND_CLASS umożliwia określenie nazwy nowej klasy okna, której informacje będą zarządzane przez CWndClassInfo. DECLARE_WND_CLASS definiuje nową klasę okien, implementując następującą funkcję statyczną:
static CWndClassInfo& GetWndClassInfo();
DECLARE_WND_CLASS określa następujące style dla nowego okna:
CS_HREDRAW
CS_VREDRAW
CS_DBLCLKS
DECLARE_WND_CLASS określa również domyślny kolor tła okna. Użyj makra DECLARE_WND_CLASS_EX , aby podać własne style i kolor tła.
CWindowImpl używa makra DECLARE_WND_CLASS do utworzenia okna na podstawie nowej klasy okna. Aby zastąpić to zachowanie, użyj makra DECLARE_WND_SUPERCLASS lub podaj własną implementację funkcji GetWndClassInfo .
Aby uzyskać więcej informacji na temat korzystania z okien w ATL, zobacz artykuł ATL Window Classes (Klasy okien ATL).
DECLARE_WND_CLASS2
(Visual Studio 2017) Podobnie jak DECLARE_WND_CLASS, ale z dodatkowym parametrem, który unika błędu nazwy zależnej podczas kompilowania z /permissive- opcji.
DECLARE_WND_CLASS2( WndClassName, EnclosingClass )
Parametry
WndClassName
[in] Nazwa nowej klasy okna. Jeśli wartość NULL, usługa ATL wygeneruje nazwę klasy okna.
Klasę ujętą
[in] Nazwa klasy okna, która otacza nową klasę okien. Nie można mieć wartości NULL.
Uwagi
Jeśli używasz /permissive- opcji, DECLARE_WND_CLASS spowoduje błąd kompilacji, ponieważ zawiera nazwę zależną. DECLARE_WND_CLASS2 wymaga jawnej nazwy klasy, w której jest używane to makro i nie powoduje błędu pod flagą /permissive-. W przeciwnym razie to makro jest identyczne z DECLARE_WND_CLASS.
DECLARE_WND_SUPERCLASS
Umożliwia określenie parametrów klasy. Umieść to makro w klasie kontrolki ActiveX ATL.
DECLARE_WND_SUPERCLASS( WndClassName, OrigWndClassName )
Parametry
WndClassName
[in] Nazwa klasy okna, która będzie superklasą OrigWndClassName. Jeśli wartość NULL, usługa ATL wygeneruje nazwę klasy okna.
OrigWndClassName
[in] Nazwa istniejącej klasy okna.
Uwagi
To makro umożliwia określenie nazwy klasy okna, która będzie superklasą istniejącej klasy okien. Klasa CWndClassInfo zarządza informacjami o superklasie.
DECLARE_WND_SUPERCLASS implementuje następującą funkcję statyczną:
static CWndClassInfo& GetWndClassInfo();
Domyślnie CWindowImpl używa makra DECLARE_WND_CLASS do utworzenia okna na podstawie nowej klasy okna. Określając makro DECLARE_WND_SUPERCLASS w klasie pochodnej CWindowImpl
, klasa okna będzie oparta na istniejącej klasie, ale będzie używać procedury okna. Ta technika jest nazywana superklasą.
Oprócz używania makr DECLARE_WND_CLASS i DECLARE_WND_SUPERCLASS można zastąpić funkcję GetWndClassInfo własną implementacją.
Aby uzyskać więcej informacji na temat korzystania z okien w ATL, zobacz artykuł ATL Window Classes (Klasy okien ATL).
DECLARE_WND_CLASS_EX
Umożliwia określenie nazwy istniejącej klasy okna, na której będzie oparta nowa klasa okien. Umieść to makro w klasie kontrolki ActiveX ATL.
DECLARE_WND_CLASS_EX( WndClassName, style, bkgnd )
Parametry
WndClassName
[in] Nazwa nowej klasy okna. Jeśli wartość NULL, usługa ATL wygeneruje nazwę klasy okna.
styl
[in] Styl okna.
bkgnd
[in] Kolor tła okna.
Uwagi
To makro umożliwia określenie parametrów klasy nowej klasy okna, których informacje będą zarządzane przez CWndClassInfo. DECLARE_WND_CLASS_EX definiuje nową klasę okien przez zaimplementowanie następującej funkcji statycznej:
static CWndClassInfo& GetWndClassInfo();
Jeśli chcesz użyć domyślnych stylów i koloru tła, użyj makra DECLARE_WND_CLASS . Aby uzyskać więcej informacji na temat korzystania z okien w ATL, zobacz artykuł ATL Window Classes (Klasy okien ATL).