Freigeben über


AfxRegisterWndClass

Ermöglicht Ihnen, eigene Fensterklassen zu registrieren.

LPCTSTR AFXAPI AfxRegisterWndClass( 
   UINT nClassStyle, 
   HCURSOR hCursor = 0, 
   HBRUSH hbrBackground = 0, 
   HICON hIcon = 0  
);

Parameter

  • nClassStyle
    Gibt den Windows-Klassenformat oder der Kombination von Formaten dargestellt, erstellt mithilfe des bitweisen OR (**|**Operator,) der Fensterklasse. Eine Liste von Klassenformaten, finden Sie unter WNDCLASS die Struktur in Windows SDK. Wenn NULL, die Standardwerte festgelegt ist, wie folgt:

    • Legt das Mausformat auf CS_DBLCLKS festgelegt, das Doppelklickmeldungen der Fensterprozedur sendet, wenn der Benutzer mit der Maus doppelklickt.

    • Legt das Pfeil-Cursor-Format auf den Windows-Standard IDC_ARROW fest.

    • Legt den Hintergrundpinsel auf NULL fest, sodass löscht das Fenster nicht den Hintergrund.

    • Legt das Symbol auf den Standard, Wellenartig bewegenFlag Windows-Logosymbol fest.

  • hCursor
    Gibt ein Handle für die in jedem Fenster installiert werden Cursorressource, das von der Fensterklasse erstellt wird. Wenn Sie den Standardwert von 0 verwenden, rufen Sie den Standard- IDC_ARROW Cursor ab.

  • hbrBackground
    Gibt ein Handle für die in an jedem Fenster installiert werden Pinselressource, das von der Fensterklasse erstellt wird. Wenn Sie den Standardwert von 0 verwenden, müssen Sie einen NULL Hintergrundpinsel, und das Fenster wird nicht standardmäßig den Hintergrund beim Verarbeiten von WM_ERASEBKGND.

  • hIcon
    Gibt ein Handle für die in an jedem Fenster installiert werden Symbolressource, das von der Fensterklasse erstellt wird. Wenn Sie den Standardwert von 0 verwenden, rufen Sie den Standardwert, Wellenartig bewegenFlag Windows-Logosymbol ab.

Rückgabewert

Eine auf NULL abschließende Zeichenfolge, die den Klassennamen enthält. Sie können den Klassennamen der Erstellen-Memberfunktion in CWnd oder anderen CWnd- abgeleiteten Klassen übergeben, um ein Fenster zu erstellen. Der Name wird von der Microsoft Foundation Class-Bibliothek generiert.

Hinweis

Der Rückgabewert ist ein Zeiger auf einen statischen Puffer.Um diese Zeichenfolge zu speichern, weisen Sie sie zu einer Variable CString zu.

Hinweise

Die Microsoft Foundation Class-Bibliothek registriert automatisch mehrere Standardfensterklassen für Sie. Rufen Sie diese Funktion auf, wenn Sie eigene Fensterklassen registrieren möchten.

Der Name, der für eine Klasse von AfxRegisterWndClass registriert wird, hängt lediglich von Parametern ab. Wenn Sie AfxRegisterWndClass mehrmals mit identischen Parametern aufrufen, registriert nur eine Klasse beim ersten Aufruf. Nachfolgende Aufrufe von AfxRegisterWndClass geben mit identischen Parametern einfach den bereits-registrierten Klassennamen zurück.

Wenn Sie AfxRegisterWndClass für mehrere von CWnd abgeleitete Klassen mit identischen Parametern aufrufen, anstatt, eine separate Fensterklasse für jede Klasse abzurufen, Freigaben jeder Klasse dieselbe Fensterklasse. Dies kann Probleme verursachen, wenn das CS_CLASSDC-Klassenformat verwendet wird. Anstatt mehrere CS_CLASSDC Fensterklassen beenden Sie oben mit einer CS_CLASSDC Fensterklasse und allen C++-Fenstern, dass die Klassenfreigabe dasselbe Domänencontroller verwenden. Um dieses Problem zu vermeiden, rufen Sie AfxRegisterClass auf um die Klasse zu registrieren.

Siehe Technical Note TN001: Fensterklassenregistrierung weitere Informationen zu Fensterklassenregistrierung und die Funktion AfxRegisterWndClass.

Beispiel

CString strMyClass;

// load stock cursor, brush, and icon for 
// my own window class 

try
{
   strMyClass = AfxRegisterWndClass(
      CS_VREDRAW | CS_HREDRAW,
      ::LoadCursor(NULL, IDC_ARROW),
      (HBRUSH) ::GetStockObject(WHITE_BRUSH),
      ::LoadIcon(NULL, IDI_APPLICATION));
}
catch (CResourceException* pEx)
{
   AfxMessageBox(_T("Couldn't register class! (Already registered?)"));
   pEx->Delete();
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Konzepte

MFC-Makros, globale Funktionen und globale Variablen