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.
CWndClassInfo
m_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.
CWndClassInfo
m_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:
CWndClassInfo
m_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:
CWndClassInfo
m_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:
CWndClassInfo
pWndProc
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.