Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Klasse stellt Methoden zum Registrieren von Informationen für eine Fensterklasse bereit.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CWndClassInfo
Member
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| Registrieren | Registriert die Fensterklasse. |
Datenelemente
| Name | Beschreibung |
|---|---|
| m_atom | Identifiziert die registrierte Fensterklasse eindeutig. |
| m_bSystemCursor | Gibt an, ob die Cursorressource auf einen Systemcursor oder auf einen Cursor verweist, der in einer Modulressource enthalten ist. |
| m_lpszCursorID | Gibt den Namen der Cursorressource an. |
| m_lpszOrigName | Enthält den Namen einer vorhandenen Fensterklasse. |
| m_szAutoName | Enthält einen ATL-generierten Namen der Fensterklasse. |
| m_wc | Verwaltet Fensterklasseninformationen in einer WNDCLASSEX Struktur. |
| pWndProc | Verweist auf die Fensterprozedur einer vorhandenen Fensterklasse. |
Hinweise
CWndClassInfo verwaltet die Informationen einer Fensterklasse. Normalerweise verwenden CWndClassInfo Sie eines von drei Makros, DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX oder DECLARE_WND_SUPERCLASS, wie in der folgenden Tabelle beschrieben:
| Makro | Beschreibung |
|---|---|
| DECLARE_WND_CLASS | CWndClassInfo registriert Informationen für eine neue Fensterklasse. |
| DECLARE_WND_CLASS_EX | CWndClassInfo registriert Informationen für eine neue Fensterklasse, einschließlich der Klassenparameter. |
| DECLARE_WND_SUPERCLASS | CWndClassInfo registriert Informationen für eine Fensterklasse, die auf einer vorhandenen Klasse basiert, aber eine andere Fensterprozedur verwendet. Diese Technik wird als Superklassifizierung bezeichnet. |
Standardmäßig enthält CWindowImpl das DECLARE_WND_CLASS Makro, um ein Fenster basierend auf einer neuen Fensterklasse zu erstellen. DECLARE_WND_CLASS stellt Standardformatvorlagen und Hintergrundfarbe für das Steuerelement bereit. Wenn Sie die Format- und Hintergrundfarbe selbst angeben möchten, leiten Sie ihre Klasse ab CWindowImpl und fügen Sie das DECLARE_WND_CLASS_EX Makro in die Klassendefinition ein.
Wenn Sie ein Fenster basierend auf einer vorhandenen Fensterklasse erstellen möchten, leiten Sie Ihre Klasse von der klasse ab CWindowImpl und fügen Sie das DECLARE_WND_SUPERCLASS Makro in die Klassendefinition ein. Zum Beispiel:
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
Weitere Informationen zu Fensterklassen finden Sie unter "Window Classes " im Windows SDK.
Weitere Informationen zur Verwendung von Fenstern in ATL finden Sie im Artikel ATL-Fensterklassen.
Anforderungen
Kopfzeile: atlwin.h
CWndClassInfo::m_atom
Enthält den eindeutigen Bezeichner für die registrierte Fensterklasse.
ATOM m_atom;
CWndClassInfo::m_bSystemCursor
Wenn TRUE, wird die Systemcursorressource geladen, wenn die Fensterklasse registriert wird.
BOOL m_bSystemCursor;
Hinweise
Andernfalls wird die in Ihrem Modul enthaltene Cursorressource geladen.
CWndClassInfo wird nur verwendet m_bSystemCursor , wenn das DECLARE_WND_CLASS (standard in CWindowImpl) oder das DECLARE_WND_CLASS_EX Makro angegeben wird. In diesem Fall m_bSystemCursor wird true initialisiert. Weitere Informationen finden Sie in der Übersicht über CWndClassInfo.
CWndClassInfo::m_lpszCursorID
Gibt entweder den Namen der Cursorressource oder den Ressourcenbezeichner im Wort mit niedriger Reihenfolge und 0 im Wort mit hoher Reihenfolge an.
LPCTSTR m_lpszCursorID;
Hinweise
Wenn die Fensterklasse registriert ist, wird der von m_wc identifizierte Handle für den durch den Cursor identifizierten m_lpszCursorID Cursor abgerufen und gespeichert.
CWndClassInfo wird nur verwendet m_lpszCursorID , wenn das DECLARE_WND_CLASS (standard in CWindowImpl) oder das DECLARE_WND_CLASS_EX Makro angegeben wird. In diesem Fall wird initialisiert, m_lpszCursorID um IDC_ARROW. Weitere Informationen finden Sie in der Übersicht über CWndClassInfo.
CWndClassInfo::m_lpszOrigName
Enthält den Namen einer vorhandenen Fensterklasse.
LPCTSTR m_lpszOrigName;
Hinweise
CWndClassInfo wird nur verwendet m_lpszOrigName , wenn Sie das DECLARE_WND_SUPERCLASS Makro in die Klassendefinition einschließen. In diesem Fall CWndClassInfo registriert eine Fensterklasse basierend auf der von m_lpszOrigName. Weitere Informationen finden Sie in der Übersicht über CWndClassInfo.
CWndClassInfo::m_szAutoName
Enthält den Namen der Fensterklasse.
TCHAR m_szAutoName[13];
Hinweise
CWndClassInfo wird m_szAutoName nur verwendet, wenn NULL für den WndClassName Parameter an DECLARE_WND_CLASS, den DECLARE_WND_CLASS_EX oder DECLARE_WND_SUPERCLASS übergeben wird. ATL erstellt einen Namen, wenn die Fensterklasse registriert ist.
CWndClassInfo::m_wc
Verwaltet die Fensterklasseninformationen in einer WNDCLASSEX-Struktur .
WNDCLASSEX m_wc;
Hinweise
Wenn Sie die DECLARE_WND_CLASS (standard in CWindowImpl) oder das DECLARE_WND_CLASS_EX Makro angegeben haben, m_wc enthält sie Informationen zu einer neuen Fensterklasse.
Wenn Sie das DECLARE_WND_SUPERCLASS-Makro angegeben haben, m_wc enthält Sie Informationen zu einer Superklasse – einer Fensterklasse, die auf einer vorhandenen Klasse basiert, aber eine andere Fensterprozedur verwendet. m_lpszOrigName und pWndProc speichern den Namen bzw. die Fensterprozedur der vorhandenen Fensterklasse.
CWndClassInfo::p WndProc
Verweist auf die Fensterprozedur einer vorhandenen Fensterklasse.
WNDPROC pWndProc;
Hinweise
CWndClassInfo wird nur verwendet pWndProc , wenn Sie das DECLARE_WND_SUPERCLASS Makro in die Klassendefinition einschließen. In diesem Fall registriert eine Fensterklasse, die auf einer vorhandenen Klasse basiert, CWndClassInfo aber eine andere Fensterprozedur verwendet. Die Fensterprozedur der vorhandenen Fensterklasse wird gespeichert pWndProc. Weitere Informationen finden Sie in der Übersicht über CWndClassInfo.
CWndClassInfo::Register
Wird von CWindowImpl::Create aufgerufen, um die Fensterklasse zu registrieren, wenn sie noch nicht registriert wurde.
ATOM Register(WNDPROC* pProc);
Parameter
pProc
[out] Gibt die ursprüngliche Fensterprozedur einer vorhandenen Fensterklasse an.
Rückgabewert
Bei erfolgreicher Ausführung identifiziert ein Atom die Fensterklasse, die registriert wird. Andernfalls ist es 0.
Hinweise
Wenn Sie den DECLARE_WND_CLASS (standard in CWindowImpl) oder das DECLARE_WND_CLASS_EX Makro angegeben haben, Register wird eine neue Fensterklasse registriert. In diesem Fall wird der pProc-Parameter nicht verwendet.
Wenn Sie das DECLARE_WND_SUPERCLASS-Makro angegeben haben, Register registriert sie eine Superklasse – eine Fensterklasse, die auf einer vorhandenen Klasse basiert, aber eine andere Fensterprozedur verwendet. Die Fensterprozedur der vorhandenen Fensterklasse wird in pProc zurückgegeben.