Share via


AfxRegisterWndClass

Consente di registrare le classi della finestra.

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

Parametri

  • nClassStyle
    Specifica lo stile della classe di windows o la combinazione di stili, creata utilizzando bit per bit (**|**Operatore), della classe della finestra.Per un elenco degli stili della classe, vedere la struttura di WNDCLASS in Windows SDK.Se NULL, le impostazioni predefinite verrà impostato come segue:

    • Consente di impostare lo stile del mouse su CS_DBLCLKS, che invia doppio clic sui messaggi alla routine della finestra quando l'utente fa doppio clic sul corrispondente.

    • Consente di impostare lo stile del cursore freccia allo standard IDC_ARROWdi windows.

    • Imposta il pennello per lo sfondo a NULL, pertanto la finestra non verrà cancellata lo sfondo.

    • Imposta l'icona allo standard, icona del logo Windows di ondeggiare-flag.

  • hCursor
    Specifica un handle di risorsa cursore da installare in ogni finestra creata dalla classe della finestra.Se si utilizza l'impostazione predefinita di 0, verrà visualizzato il cursore standard di IDC_ARROW .

  • hbrBackground
    Specifica un handle di risorsa pennello da installare in ogni finestra creata dalla classe della finestra.Se si utilizza l'impostazione predefinita di 0, si disporrà di un pennello per lo sfondo di NULL e la finestra, per impostazione predefinita, non verrà cancellata lo sfondo durante l'elaborazione WM_ERASEBKGND.

  • hIcon
    Specifica un handle di risorsa icona da installare in ogni finestra creata dalla classe della finestra.Se si utilizza l'impostazione predefinita di 0, si otterrà lo standard, icona del logo Windows di ondeggiare-flag.

Valore restituito

Una stringa con terminazione null contenente il nome della classe.È possibile passare il nome della classe alla funzione di creazione di un membro in CWnd o da altre classi derivate di CWnd-per creare una finestra.Il nome viene generato dalla libreria MFC.

[!NOTA]

Il valore restituito è un puntatore a un buffer statico.Per salvare questa stringa, assegnarlo a una variabile di CString .

Note

La libreria MFC viene registrata automaticamente diverse classi di finestre standard per l'utente.Chiamare la funzione se si desidera registrare le proprie classi della finestra.

Il nome registrato per una classe da AfxRegisterWndClass dipende unicamente i parametri e.Se si chiama ripetuta di AfxRegisterWndClass con parametri identici, registra solo la classe Alla prima chiamata.Le chiamate successive a AfxRegisterWndClass con parametri identici restituisce semplicemente la nomeclasse già-registrata.

Se si chiama AfxRegisterWndClass per il più CWnd-derivato di classi con i parametri identici, anziché ottenere una classe finestra separata per ogni classe, condivisioni di ogni classe la stessa classe della finestra.Ciò può comportare problemi se lo stile della classe di CS_CLASSDC viene utilizzato.Anziché classi della finestra più di CS_CLASSDC , vengono generati con una classe di finestre di CS_CLASSDC e tutte le finestre di C++ che utilizzano sia condivisione della classe lo stesso controller di dominio.Per evitare questo problema, chiamata AfxRegisterClass per registrare la classe.

Vedere la nota tecnica TN001: Registrazione della classe della finestra per ulteriori informazioni sulla registrazione della classe della finestra e nella funzione di AfxRegisterWndClass .

Esempio

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();
}

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Concetti

Macro MFC e Globals