Condividi tramite


AfxRegisterWndClass

Consente di registrare le proprie 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 (OR**|**operatore), della classe della finestra. Per un elenco di stili delle classi, vedere la struttura di WNDCLASS in Windows SDK. Se NULL, le impostazioni predefinite verrà impostato come segue:

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

    • Imposta lo stile del cursore della freccia in IDC_ARROWstandard di windows.

    • Imposta il pennello per lo sfondo a NULL, pertanto la finestra non cancellerà 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 otterrà un pennello per lo sfondo di NULL e la finestra, per impostazione predefinita, non cancellerà 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 a una funzione membro di Crea in CWnd o da altre classi derivate di CWnd-per creare una finestra. Il nome è 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 automaticamente. Chiamare questa funzione se si desidera registrare le proprie classi della finestra.

Il nome registrato per una classe da AfxRegisterWndClass dipende unicamente dai parametri. Se si chiama più volte AfxRegisterWndClass con parametri identici, registra solo una classe alla prima chiamata. Le chiamate successive a AfxRegisterWndClass con parametri identici restituisce semplicemente la classname già registrata.

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

Vedere la nota tecnica TN001: registrazione delle classi di finestre per ulteriori informazioni sulla registrazione della classe della finestra e la 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

Intestazione: afxwin.h

Vedere anche

Riferimenti

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Concetti

Macro e funzioni globali MFC