Descripción de rasgos de las ventanas

Las clases de rasgos de las ventanas proporcionan un sencillo método para estandarizar los estilos usados para la creación de un objeto de ventana ATL. Los rasgos de las ventanas los aceptan como parámetros de plantilla CWindowImpl y otras clases de ventana ATL como una forma de proporcionar estilos de ventana predeterminados en el nivel de clase.

Si el creador de una instancia de ventana no proporciona estilos explícitamente en la llamada a Create, puede usar una clase de rasgos para asegurarse de que la ventana todavía se crea con los estilos correctos. Incluso puede asegurarse de que determinados estilos están establecidos para todas las instancias de esa clase de ventana, al tiempo que permite establecer otros estilos por instancia.

Plantillas de rasgos de las ventanas ATL

ATL proporciona dos plantillas de rasgos de las ventanas que permiten establecer estilos predeterminados en tiempo de compilación mediante sus parámetros de plantilla.

Clase Descripción
CWinTraits Use esta plantilla cuando quiera proporcionar estilos de ventana predeterminados que se usen solo cuando no se especifique ningún otro estilo en la llamada a Create. Los estilos proporcionados en tiempo de ejecución tienen prioridad sobre los estilos establecidos en tiempo de compilación.
CWinTraitsOR Use esta clase cuando desee especificar estilos que siempre deben establecerse para la clase de ventana. Los estilos proporcionados en tiempo de ejecución se combinan con los estilos establecidos en tiempo de compilación mediante el operador OR bit a bit.

Además de estas plantillas, ATL proporciona una serie de especializaciones predefinidas de la plantilla CWinTraits para combinaciones de estilos de ventana que se usan habitualmente. Consulte la documentación de referencia CWinTraits para conocer los detalles completos.

Rasgos de las ventanas personalizados

En la situación improbable de que, de las plantillas proporcionadas por ATL, la especializada no sea suficiente y deba crear su propia clase de rasgos, solo tiene que crear una clase que implemente dos funciones estáticas: GetWndStyle y GetWndStyleEx:

static DWORD GetWndStyle(DWORD dwStyle);
static DWORD GetWndExStyle(DWORD dwExStyle);

Cada una de estas funciones se pasará algún valor de estilo en tiempo de ejecución que puede usar para generar un nuevo valor de estilo. Si la clase de rasgos de las ventanas se usa como argumento de plantilla para una clase de ventana ATL, los valores de estilo pasados a estas funciones estáticas serán lo que se pasó como argumentos de estilo a Create.

Consulte también

Clases de ventana