Compartir a través de


Clase CMFCBaseVisualManager

Una capa entre los administradores visuales derivados y la API de temas de Windows.

CMFCBaseVisualManager carga UxTheme.dll, si está disponible, y administra el acceso a los métodos de la API de temas de Windows.

Esta clase es solo para uso interno.

Sintaxis

class CMFCBaseVisualManager: public CObject

Miembros

Constructores públicos

Nombre Descripción
CMFCBaseVisualManager::CMFCBaseVisualManager Construye e inicializa un objeto CMFCBaseVisualManager.
CMFCBaseVisualManager::~CMFCBaseVisualManager Destructor.

Métodos públicos

Nombre Descripción
CMFCBaseVisualManager::DrawCheckBox Dibuja un control de casilla mediante el tema actual de Windows.
CMFCBaseVisualManager::DrawComboBorder Dibuja un borde de cuadro combinado mediante el tema actual de Windows.
CMFCBaseVisualManager::DrawComboDropButton Dibuja un botón desplegable de cuadro combinado con el tema actual de Windows.
CMFCBaseVisualManager::DrawPushButton Dibuja un botón de comando con el tema actual de Windows XP.
CMFCBaseVisualManager::DrawRadioButton Dibuja un control de botón de radio con el tema actual de Windows.
CMFCBaseVisualManager::DrawStatusBarProgress Dibuja una barra de progreso en un control de barra de estado (CMFCStatusBar Class) mediante el tema actual de Windows.
CMFCBaseVisualManager::FillReBarPane Rellena el fondo del control rebar mediante el tema actual de Windows.
CMFCBaseVisualManager::GetStandardWindowsTheme Obtiene el tema actual de Windows.

Métodos protegidos

Nombre Descripción
CMFCBaseVisualManager::CleanUpThemes Llama a CloseThemeData para todos los identificadores obtenidos en UpdateSystemColors.
CMFCBaseVisualManager::UpdateSystemColors Llama a OpenThemeData para obtener identificadores para dibujar varios controles: ventanas, barras de herramientas, botones, etc.

Comentarios

No tiene que crear instancias de los objetos de esta clase directamente.

Dado que es una clase base para todos los administradores visuales, simplemente puede llamar a CMFCVisualManager::GetInstance, obtener un puntero al administrador visual actual y acceder a los métodos de CMFCBaseVisualManager mediante ese puntero. Sin embargo, si tiene que mostrar un control mediante el tema actual de Windows, es mejor usar la interfaz CMFCVisualManagerWindows.

Jerarquía de herencia

CObject

CMFCBaseVisualManager

Requisitos

Encabezado: afxvisualmanager.h

CMFCBaseVisualManager::CleanUpThemes

Llama a CloseThemeData para todos los identificadores obtenidos en UpdateSystemColors.

void CleanUpThemes();

Comentarios

Para uso interno únicamente.

CMFCBaseVisualManager::CMFCBaseVisualManager

Construye e inicializa un objeto CMFCBaseVisualManager.

CMFCBaseVisualManager();

CMFCBaseVisualManager::DrawCheckBox

Dibuja un control de casilla mediante el tema actual de Windows.

virtual BOOL DrawCheckBox(
    CDC* pDC,
    CRect rect,
    BOOL bHighlighted,
    int nState,
    BOOL bEnabled,
    BOOL bPressed);

);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador de la casilla.

bHighlighted
[in] Especifica si la casilla está resaltada.

nState
[in] 0 si está desactivado, 1 si la activación es normal,

2 si la activación es normal mixta.

bEnabled
[in] Especifica si la casilla está habilitada.

bPressed
[in] Especifica si la casilla se ha presionado.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

Comentarios

Los valores de nState se corresponden con los siguientes estilos de casilla.

nState Estilo de casilla
0 CBS_UNCHECKEDNORMAL
1 CBS_CHECKEDNORMAL
2 CBS_MIXEDNORMAL

CMFCBaseVisualManager::DrawComboBorder

Dibuja el borde del cuadro combinado con el tema actual de Windows.

virtual BOOL DrawComboBorder(
    CDC* pDC,
    CRect rect,
    BOOL bDisabled,
    BOOL bIsDropped,
    BOOL bIsHighlighted);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador del borde del cuadro combinado.

bDisabled
[in] Especifica si el borde del cuadro combinado está deshabilitado.

bIsDropped
[in] Especifica si el borde del cuadro combinado está desplegado.

bIsHighlighted
[in] Especifica si el borde del cuadro combinado está resaltado.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

CMFCBaseVisualManager::DrawComboDropButton

Dibuja un botón desplegable de cuadro combinado con el tema actual de Windows.

virtual BOOL DrawComboDropButton(
    CDC* pDC,
    CRect rect,
    BOOL bDisabled,
    BOOL bIsDropped,
    BOOL bIsHighlighted);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador del botón desplegable del cuadro combinado.

bDisabled
[in] Especifica si el botón desplegable del cuadro combinado está deshabilitado.

bIsDropped
[in] Especifica si el botón desplegable del cuadro combinado está desplegado.

bIsHighlighted
[in] Especifica si el botón desplegable del cuadro combinado está resaltado.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

CMFCBaseVisualManager::DrawPushButton

Dibuja un botón de comando con el tema actual de Windows XP.

virtual BOOL DrawPushButton(
    CDC* pDC,
    CRect rect,
    CMFCButton* pButton,
    UINT uiState);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador del botón de comando.

pButton
[in] Puntero al objeto de la clase CMFCButton que se va a dibujar.

uiState
[in] Ignorado. El estado se toma de pButton.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

CMFCBaseVisualManager::DrawRadioButton

Dibuja un control de botón de radio con el tema actual de Windows.

virtual BOOL DrawRadioButton(
    CDC* pDC,
    CRect rect,
    BOOL bHighlighted,
    BOOL bChecked,
    BOOL bEnabled,
    BOOL bPressed);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador del botón de radio.

bHighlighted
[in] Especifica si el botón de radio está resaltado.

bChecked
[in] Especifica si el botón de radio está marcado.

bEnabled
[in] Especifica si el botón de radio está habilitado.

bPressed
[in] Especifica si el botón de radio se ha presionado.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

CMFCBaseVisualManager::DrawStatusBarProgress

Dibuja una barra de progreso en un control de barra de estado (CMFCStatusBar Class) mediante el tema actual de Windows.

virtual BOOL DrawStatusBarProgress(
    CDC* pDC,
    CMFCStatusBar* pStatusBar,
    CRect rectProgress,
    int nProgressTotal,
    int nProgressCurr,
    COLORREF clrBar,
    COLORREF clrProgressBarDest,
    COLORREF clrProgressText,
    BOOL bProgressText);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

pStatusBar
[in] Puntero a una barra de estado. Este valor se omite.

rectProgress
[in] Rectángulo delimitador de la barra de progreso en coordenadas pDC.

nProgressTotal
[in] Valor de progreso total.

nProgressCurr
[in] Valor de progreso actual.

clrBar
[in] Color inicial. CMFCBaseVisualManager pasa esto por alto. Las clases derivadas pueden usarlo para degradados de color.

clrProgressBarDest
[in] Color final. CMFCBaseVisualManager pasa esto por alto. Las clases derivadas pueden usarlo para degradados de color.

clrProgressText
[in] Color del texto de progreso. CMFCBaseVisualManager pasa esto por alto. El color del texto se define mediante afxGlobalData.clrBtnText.

bProgressText
[in] Especifica si se va a mostrar el texto de progreso.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

CMFCBaseVisualManager::FillReBarPane

Rellena el fondo del control rebar mediante el tema actual de Windows.

virtual void FillReBarPane(
    CDC* pDC,
    CBasePane* pBar,
    CRect rectClient);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

pBar
[in] Puntero a un panel cuyo fondo se debe dibujar.

rectClient
[in] Rectángulo delimitador del área que se va a rellenar.

Valor devuelto

TRUE si la API de temas está habilitada; en caso contrario, FALSE.

CMFCBaseVisualManager::GetStandardWindowsTheme

Obtiene el tema actual de Windows.

virtual WinXpTheme GetStandardWindowsTheme();

Valor devuelto

Color del tema de Windows seleccionado actualmente. Puede ser uno de los siguientes valores enumerados:

  • WinXpTheme_None: no hay ningún tema habilitado.

  • WinXpTheme_NonStandard: se ha seleccionado un tema no estándar (lo que significa que se ha seleccionado un tema, pero no es ninguno de la lista siguiente).

  • WinXpTheme_Blue: tema azul (Luna).

  • WinXpTheme_Olive: tema verde olivo.

  • WinXpTheme_Silver: tema plateado.

CMFCBaseVisualManager::UpdateSystemColors

Llama a OpenThemeData para obtener identificadores para dibujar varios controles: ventanas, barras de herramientas, botones, etc.

void UpdateSystemColors();

Comentarios

Para uso interno.

Consulte también

Gráfico de jerarquías
Clases