Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As classes de traços de janela fornecem um método simples para padronizar os estilos usados para a criação de um objeto de janela ATL. As características de janela são aceitas como parâmetros de modelo pelo CWindowImpl e outras classes de janela ATL como uma forma de fornecer estilos de janela padrão no nível da classe.
Se o criador de uma ocorrência de janela não fornecer estilos explicitamente na chamada para Create, você poderá usar uma classe de traços para garantir que a janela ainda seja criada com os estilos corretos. Você pode até mesmo garantir que determinados estilos sejam definidos para todas as instâncias dessa classe de janela, permitindo que outros estilos sejam definidos por instância.
Modelos de características de janela ATL
A ATL fornece dois modelos de características de janela que permitem definir estilos padrão em tempo de compilação usando seus parâmetros de modelo.
| Classe | Descrição |
|---|---|
| CWinTraits | Use este modelo quando quiser fornecer estilos de janela padrão que serão usados somente quando nenhum outro estilo for especificado na chamada para Create. Os estilos fornecidos em tempo de execução têm precedência sobre os estilos definidos em tempo de compilação. |
| CWinTraitsOR | Use essa classe quando quiser especificar estilos que sempre devem ser definidos para a classe window. Os estilos fornecidos em tempo de execução são combinados com os estilos definidos em tempo de compilação usando o operador bit a bit OR. |
Além desses modelos, a ATL fornece uma série de especializações predefinidas do CWinTraits modelo para combinações comumente usadas de estilos de janela. Consulte a documentação de referência do CWinTraits para obter detalhes completos.
Traços de janela personalizados
Na situação improvável de que especializar um dos modelos fornecidos pelo ATL não é suficiente e você precisa criar sua própria classe de traits, você só precisa criar uma classe que implemente duas funções estáticas: GetWndStyle e GetWndStyleEx:
static DWORD GetWndStyle(DWORD dwStyle);
static DWORD GetWndExStyle(DWORD dwExStyle);
Cada uma dessas funções receberá algum valor de estilo em tempo de execução que pode ser usado para produzir um novo valor de estilo. Se sua classe de traços de janela estiver sendo usada como o argumento de modelo para uma classe de janela ATL, os valores de estilo passados para essas funções estáticas serão o que foi passado como os argumentos de estilo para Criar.