Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe fornece métodos para registar informação para uma classe janela.
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class CWndClassInfo
Membros
Métodos Públicos
| Nome | Description |
|---|---|
| Registo | Regista a classe janela. |
Membros de Dados
| Nome | Description |
|---|---|
| m_atom | Identifica de forma única a classe de janela registada. |
| m_bSystemCursor | Especifica se o recurso cursor se refere a um cursor do sistema ou a um cursor contido num recurso de módulo. |
| m_lpszCursorID | Especifica o nome do recurso cursor. |
| m_lpszOrigName | Contém o nome de uma classe de janela existente. |
| m_szAutoName | Detém o nome gerado por ATL da classe janela. |
| m_wc | Mantém a informação da classe janela numa WNDCLASSEX estrutura. |
| pWndProc | Aponta para o procedimento de janela de uma classe de janela existente. |
Observações
CWndClassInfo gere a informação de uma classe janela. Normalmente utiliza-se CWndClassInfo através de um de três macros: DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX ou DECLARE_WND_SUPERCLASS, conforme descrito na tabela seguinte:
| Macro | Description |
|---|---|
| DECLARE_WND_CLASS |
CWndClassInfo Regista informações para uma nova classe de janela. |
| DECLARE_WND_CLASS_EX |
CWndClassInfo regista informação para uma nova classe janela, incluindo os parâmetros da classe. |
| DECLARE_WND_SUPERCLASS |
CWndClassInfo regista informação para uma classe janela baseada numa classe existente, mas que utiliza um procedimento de janela diferente. Esta técnica chama-se superclassing. |
Por defeito, o CWindowImpl inclui a DECLARE_WND_CLASS macro para criar uma janela baseada numa nova classe de janela. DECLARE_WND_CLASS fornece estilos predefinidos e cor de fundo para o controlo. Se quiseres especificar o estilo e a cor de fundo tu próprio, deriva a tua classe e CWindowImpl inclui a macro DECLARE_WND_CLASS_EX na definição da tua classe.
Se quiseres criar uma janela baseada numa classe de janela existente, deriva a tua classe e CWindowImpl inclui a macro DECLARE_WND_SUPERCLASS na definição da tua classe. Por exemplo:
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
Para mais informações sobre classes de janela, consulte Classes de Janelas no SDK do Windows.
Para mais informações sobre o uso de janelas em ATL, consulte o artigo Classes de Janelas ATL.
Requerimentos
Cabeçalho: atlwin.h
CWndClassInfo::m_atom
Contém o identificador único para a classe de janela registada.
ATOM m_atom;
CWndClassInfo::m_bSystemCursor
Se for TRUE, o recurso do cursor do sistema será carregado quando a classe janela for registada.
BOOL m_bSystemCursor;
Observações
Caso contrário, o recurso do cursor contido no teu módulo será carregado.
CWndClassInfo usa m_bSystemCursor apenas quando o DECLARE_WND_CLASS (o padrão em CWindowImpl) ou a macro DECLARE_WND_CLASS_EX é especificado. Neste caso, m_bSystemCursor é inicializado para TRUE. Para mais informações, consulte a visão geral do CWndClassInfo .
CWndClassInfo::m_lpszCursorID
Especifica o nome do recurso cursor ou o identificador do recurso na palavra de ordem baixa e zero na palavra de ordem superior.
LPCTSTR m_lpszCursorID;
Observações
Quando a classe janela é registada, o handle do cursor identificado por m_lpszCursorID é recuperado e armazenado por m_wc.
CWndClassInfo usa m_lpszCursorID apenas quando o DECLARE_WND_CLASS (o padrão em CWindowImpl) ou a macro DECLARE_WND_CLASS_EX é especificado. Neste caso, m_lpszCursorID é inicializado para IDC_ARROW. Para mais informações, consulte a visão geral do CWndClassInfo .
CWndClassInfo::m_lpszOrigName
Contém o nome de uma classe de janela existente.
LPCTSTR m_lpszOrigName;
Observações
CWndClassInfo Usa m_lpszOrigName apenas quando incluires a macro DECLARE_WND_SUPERCLASS na definição da tua classe. Neste caso, CWndClassInfo regista uma classe janela baseada na classe nomeada por m_lpszOrigName. Para mais informações, consulte a visão geral do CWndClassInfo .
CWndClassInfo::m_szAutoName
Detém o nome da classe janela.
TCHAR m_szAutoName[13];
Observações
CWndClassInfo usa m_szAutoName apenas se NULL for passado para o WndClassName parâmetro a DECLARE_WND_CLASS, o DECLARE_WND_CLASS_EX ou DECLARE_WND_SUPERCLASS. O ATL construirá um nome quando a classe janela for registada.
CWndClassInfo::m_wc
Mantém a informação da classe janela numa estrutura WNDCLASSEX .
WNDCLASSEX m_wc;
Observações
Se especificou a DECLARE_WND_CLASS (o padrão em CWindowImpl) ou a macro DECLARE_WND_CLASS_EX , m_wc contém informação sobre uma nova classe janela.
Se especificou a macro DECLARE_WND_SUPERCLASS , m_wc contém informação sobre uma superclasse — uma classe janela baseada numa classe existente mas que utiliza um procedimento de janela diferente.
m_lpszOrigName e pWndProc guardam, respetivamente, o nome e o procedimento da janela da classe existente.
CWndClassInfo::p WndProc
Aponta para o procedimento de janela de uma classe de janela existente.
WNDPROC pWndProc;
Observações
CWndClassInfo Usa pWndProc apenas quando incluires a macro DECLARE_WND_SUPERCLASS na definição da tua classe. Neste caso, CWndClassInfo regista uma classe janela baseada numa classe existente, mas utiliza um procedimento de janela diferente. O procedimento de janela da classe de janela existente é guardado em pWndProc. Para mais informações, consulte a visão geral do CWndClassInfo .
CWndClassInfo::Registar-se
Chamado por CWindowImpl::Create para registar a classe janela caso esta ainda não tenha sido registada.
ATOM Register(WNDPROC* pProc);
Parâmetros
pProc
[fora] Especifica o procedimento original de janela de uma classe de janela existente.
Valor de retorno
Se for bem-sucedido, um átomo que identifica de forma única a classe janela que está a ser registada. Caso contrário, 0.
Observações
Se especificaste o DECLARE_WND_CLASS (o padrão no CWindowImpl) ou o macro DECLARE_WND_CLASS_EX , Register regista uma nova classe janela. Neste caso, o parâmetro pProc não é utilizado.
Se especificou a macro DECLARE_WND_SUPERCLASS , Register regista uma superclasse — uma classe janela baseada numa classe existente mas que utiliza um procedimento de janela diferente. O procedimento de janela da classe de janela existente é devolvido em pProc.
Consulte também
Classe CComControl
Visão geral da classe