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
Requisitos
Encabezado: afxvisualmanager.h
CMFCBaseVisualManager::CleanUpThemes
Llama a CloseThemeData
para todos los identificadores obtenidos en UpdateSystemColors
.
void CleanUpThemes();
Comentarios
Solo para uso interno.
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.