Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.