Condividi tramite


Classe CWndClassInfo

Questa classe fornisce metodi per la registrazione delle informazioni per una classe window.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

class CWndClassInfo

Membri

Metodi pubblici

Nome Descrizione
Registra Registra la classe della finestra.

Membri dei dati

Nome Descrizione
m_atom Identifica in modo univoco la classe della finestra registrata.
m_bSystemCursor Specifica se la risorsa cursore fa riferimento a un cursore di sistema o a un cursore contenuto in una risorsa del modulo.
m_lpszCursorID Specifica il nome della risorsa cursore.
m_lpszOrigName Contiene il nome di una classe finestra esistente.
m_szAutoName Contiene un nome generato da ATL della classe window.
m_wc Gestisce le informazioni sulla classe finestra in una WNDCLASSEX struttura.
pWndProc Punta alla routine della finestra di una classe finestra esistente.

Osservazioni:

CWndClassInfo gestisce le informazioni di una classe window. In genere si usa CWndClassInfo tramite una di tre macro, DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX o DECLARE_WND_SUPERCLASS, come descritto nella tabella seguente:

Macro Descrizione
DECLARE_WND_CLASS CWndClassInfo registra le informazioni per una nuova classe di finestra.
DECLARE_WND_CLASS_EX CWndClassInfo registra le informazioni per una nuova classe di finestra, inclusi i parametri della classe.
DECLARE_WND_SUPERCLASS CWndClassInfo registra le informazioni per una classe window basata su una classe esistente, ma usa una routine finestra diversa. Questa tecnica è detta superclasse.

Per impostazione predefinita, CWindowImpl include la DECLARE_WND_CLASS macro per creare una finestra basata su una nuova classe finestra. DECLARE_WND_CLASS fornisce stili predefiniti e colore di sfondo per il controllo. Se si desidera specificare manualmente lo stile e il colore di sfondo, derivare la classe da CWindowImpl e includere la macro DECLARE_WND_CLASS_EX nella definizione della classe.

Se si vuole creare una finestra basata su una classe finestra esistente, derivare la classe da CWindowImpl e includere la macro DECLARE_WND_SUPERCLASS nella definizione della classe. Ad esempio:

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

Per altre informazioni sulle classi di finestre, vedere Classi di finestre in Windows SDK.

Per altre informazioni sull'uso di finestre in ATL, vedere l'articolo Classi finestra ATL.

Requisiti

Intestazione: atlwin.h

CWndClassInfo::m_atom

Contiene l'identificatore univoco per la classe della finestra registrata.

ATOM m_atom;

CWndClassInfo::m_bSystemCursor

Se TRUE, la risorsa cursore di sistema verrà caricata quando viene registrata la classe window.

BOOL m_bSystemCursor;

Osservazioni:

In caso contrario, la risorsa cursore contenuta nel modulo verrà caricata.

CWndClassInfom_bSystemCursor utilizza solo quando viene specificata la DECLARE_WND_CLASS (impostazione predefinita in CWindowImpl) o la macro DECLARE_WND_CLASS_EX. In questo caso, m_bSystemCursor viene inizializzato su TRUE. Per altre informazioni, vedere la panoramica di CWndClassInfo .

CWndClassInfo::m_lpszCursorID

Specifica il nome della risorsa cursore o l'identificatore della risorsa nella parola con ordine basso e zero nella parola di ordine elevato.

LPCTSTR m_lpszCursorID;

Osservazioni:

Quando la classe della finestra viene registrata, l'handle del cursore identificato da m_lpszCursorID viene recuperato e archiviato da m_wc.

CWndClassInfom_lpszCursorID utilizza solo quando viene specificata la DECLARE_WND_CLASS (impostazione predefinita in CWindowImpl) o la macro DECLARE_WND_CLASS_EX. In questo caso, m_lpszCursorID viene inizializzato per IDC_ARROW. Per altre informazioni, vedere la panoramica di CWndClassInfo .

CWndClassInfo::m_lpszOrigName

Contiene il nome di una classe finestra esistente.

LPCTSTR m_lpszOrigName;

Osservazioni:

CWndClassInfom_lpszOrigName viene utilizzato solo quando si include la macro DECLARE_WND_SUPERCLASS nella definizione della classe. In questo caso, CWndClassInfo registra una classe window basata sulla classe denominata da m_lpszOrigName. Per altre informazioni, vedere la panoramica di CWndClassInfo .

CWndClassInfo::m_szAutoName

Contiene il nome della classe window.

TCHAR m_szAutoName[13];

Osservazioni:

CWndClassInfom_szAutoName utilizza solo se viene passato NULL per il WndClassName parametro a DECLARE_WND_CLASS, il DECLARE_WND_CLASS_EX o il DECLARE_WND_SUPERCLASS. ATL creerà un nome quando viene registrata la classe window.

CWndClassInfo::m_wc

Gestisce le informazioni sulla classe della finestra in una struttura WNDCLASSEX .

WNDCLASSEX m_wc;

Osservazioni:

Se è stato specificato il DECLARE_WND_CLASS (impostazione predefinita in CWindowImpl) o la macro DECLARE_WND_CLASS_EX , m_wc contiene informazioni su una nuova classe finestra.

Se è stata specificata la macro DECLARE_WND_SUPERCLASS , contiene informazioni su una superclasse, m_wc ovvero una classe finestra basata su una classe esistente, ma usa una routine finestra diversa. m_lpszOrigName e pWndProc salvano rispettivamente il nome e la routine della finestra della classe finestra esistente.

CWndClassInfo::p WndProc

Punta alla routine della finestra di una classe finestra esistente.

WNDPROC pWndProc;

Osservazioni:

CWndClassInfopWndProc viene utilizzato solo quando si include la macro DECLARE_WND_SUPERCLASS nella definizione della classe. In questo caso, CWndClassInfo registra una classe window basata su una classe esistente, ma usa una routine finestra diversa. La routine della finestra della classe finestra esistente viene salvata in pWndProc. Per altre informazioni, vedere la panoramica di CWndClassInfo .

CWndClassInfo::Register

Chiamato da CWindowImpl::Create per registrare la classe della finestra se non è ancora stata registrata.

ATOM Register(WNDPROC* pProc);

Parametri

pProc
[out] Specifica la routine della finestra originale di una classe finestra esistente.

Valore restituito

In caso di esito positivo, un atomo che identifica in modo univoco la classe della finestra registrata. Altrimenti, è impostato su 0.

Osservazioni:

Se è stato specificato il DECLARE_WND_CLASS (impostazione predefinita in CWindowImpl) o la macro DECLARE_WND_CLASS_EX , Register registra una nuova classe finestra. In questo caso, il parametro pProc non viene usato.

Se è stata specificata la macro DECLARE_WND_SUPERCLASS , Register registra una superclasse, ovvero una classe finestra basata su una classe esistente, ma usa una routine finestra diversa. La routine della finestra della classe finestra esistente viene restituita in pProc.

Vedi anche

Classe CComControl
Cenni preliminari sulla classe