Classe CMFCBaseVisualManager
Uma camada entre os gerenciadores visuais derivados e a API de Tema do Windows.
CMFCBaseVisualManager
carrega UxTheme.dll, se disponível, e gerencia o acesso aos métodos da API de Tema do Windows.
Esta classe é somente para uso interno.
Sintaxe
class CMFCBaseVisualManager: public CObject
Membros
Construtores públicos
Nome | Descrição |
---|---|
CMFCBaseVisualManager::CMFCBaseVisualManager | Constrói e inicializa um objeto CMFCBaseVisualManager . |
CMFCBaseVisualManager::~CMFCBaseVisualManager |
Destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CMFCBaseVisualManager::DrawCheckBox | Desenha um controle de caixa de seleção usando o tema atual do Windows. |
CMFCBaseVisualManager::DrawComboBorder | Desenha uma borda de caixa de combinação usando o tema atual do Windows. |
CMFCBaseVisualManager::DrawComboDropButton | Desenha um botão suspenso de caixa de combinação usando o tema atual do Windows. |
CMFCBaseVisualManager::DrawPushButton | Desenha um botão de ação usando o tema atual do Windows. |
CMFCBaseVisualManager::DrawRadioButton | Desenha um controle de botão de opção usando o tema atual do Windows. |
CMFCBaseVisualManager::DrawStatusBarProgress | Desenha uma barra de progresso em um controle de barra de status ( classe CMFCStatusBar) usando o tema atual do Windows. |
CMFCBaseVisualManager::FillReBarPane | Preenche a tela de fundo do controle rebar usando o tema atual do Windows. |
CMFCBaseVisualManager::GetStandardWindowsTheme | Obtém o tema atual do Windows. |
Métodos protegidos
Nome | Descrição |
---|---|
CMFCBaseVisualManager::CleanUpThemes | Chama CloseThemeData para todos os identificadores obtidos em UpdateSystemColors . |
CMFCBaseVisualManager::UpdateSystemColors | Chama OpenThemeData para obter identificadores para desenhar vários controles: janelas, barras de ferramentas, botões e assim por diante. |
Comentários
Você não precisa criar instâncias de objetos dessa classe diretamente.
Como esta é uma classe base para todos os gerenciadores visuais, basta chamar CMFCVisualManager::GetInstance, obter um ponteiro para o Gerenciador visual atual e acessar os métodos para CMFCBaseVisualManager
usando esse ponteiro. No entanto, se você precisar exibir um controle usando o tema atual do Windows, é melhor usar a interface CMFCVisualManagerWindows
.
Hierarquia de herança
Requisitos
Cabeçalho: afxvisualmanager.h
CMFCBaseVisualManager::CleanUpThemes
Chama CloseThemeData
para todos os identificadores obtidos em UpdateSystemColors
.
void CleanUpThemes();
Comentários
Somente para uso Interno.
CMFCBaseVisualManager::CMFCBaseVisualManager
Constrói e inicializa um objeto CMFCBaseVisualManager
.
CMFCBaseVisualManager();
CMFCBaseVisualManager::DrawCheckBox
Desenha um controle de caixa de seleção usando o tema atual do Windows.
virtual BOOL DrawCheckBox(
CDC* pDC,
CRect rect,
BOOL bHighlighted,
int nState,
BOOL bEnabled,
BOOL bPressed);
);
Parâmetros
pDC
[in] Um ponteiro para um contexto de dispositivo
rect
[in] O retângulo delimitador da caixa de seleção.
bHighlighted
[in] Especifica se a caixa de seleção está realçada.
nState
[in] 0 para desmarcado, 1 para o normal verificado,
2 para normal misto.
bEnabled
[in] Especifica se a caixa de seleção está habilitada.
bPressed
[in] Especifica se a caixa de seleção está pressionada.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
Comentários
Os valores de nState correspondem aos estilos de caixa de seleção a seguir.
nState | Estilo da caixa de seleção |
---|---|
0 | CBS_UNCHECKEDNORMAL |
1 | CBS_CHECKEDNORMAL |
2 | CBS_MIXEDNORMAL |
CMFCBaseVisualManager::DrawComboBorder
Desenha a borda da caixa de combinação usando o tema atual do Windows.
virtual BOOL DrawComboBorder(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
Parâmetros
pDC
[in] Um ponteiro para um contexto de dispositivo.
rect
[in] Retângulo delimitador da borda da caixa de combinação.
bDisabled
[in] Especifica se a borda da caixa de combinação está desabilitada.
bIsDropped
[in] Especifica se a borda da caixa de combinação é descartada.
bIsHighlighted
[in] Especifica se a borda da caixa de combinação está realçada.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
CMFCBaseVisualManager::DrawComboDropButton
Desenha um botão suspenso de caixa de combinação usando o tema atual do Windows.
virtual BOOL DrawComboDropButton(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
Parâmetros
pDC
[in] Um ponteiro para um contexto de dispositivo.
rect
[in] O retângulo delimitador do botão suspenso da caixa de combinação.
bDisabled
[in] Especifica se o botão suspenso da caixa de combinação está desabilitado.
bIsDropped
[in] Especifica se o botão suspenso da caixa de combinação é descartado.
bIsHighlighted
[in] Especifica se o botão suspenso da caixa de combinação está realçado.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
CMFCBaseVisualManager::DrawPushButton
Desenha um botão de ação usando o tema atual do Windows.
virtual BOOL DrawPushButton(
CDC* pDC,
CRect rect,
CMFCButton* pButton,
UINT uiState);
Parâmetros
pDC
[in] Um ponteiro para um contexto de dispositivo.
rect
[in] O retângulo delimitador do botão de ação.
pButton
[in] Um ponteiro para o objeto da classe CMFCButton a ser desenhado.
uiState
[in] Ignorado. O estado é obtido de pButton.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
CMFCBaseVisualManager::DrawRadioButton
Desenha um controle de botão de opção usando o tema atual do Windows.
virtual BOOL DrawRadioButton(
CDC* pDC,
CRect rect,
BOOL bHighlighted,
BOOL bChecked,
BOOL bEnabled,
BOOL bPressed);
Parâmetros
pDC
[in] Um ponteiro para um contexto de dispositivo.
rect
[in] O retângulo delimitador do botão de opção.
bHighlighted
[in] Especifica se o botão de opção está realçado.
bChecked
[in] Especifica se o botão de opção está marcado.
bEnabled
[in] Especifica se o botão de opção está habilitado.
bPressed
[in] Especifica se o botão de opção está pressionado.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
CMFCBaseVisualManager::DrawStatusBarProgress
Desenha uma barra de progresso em um controle de barra de status ( classe CMFCStatusBar) usando o tema atual do 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] Um ponteiro para um contexto de dispositivo.
pStatusBar
[in] Um ponteiro para a barra de status. Este valor é ignorado.
rectProgress
[in] O retângulo delimitador da barra de progresso em coordenadas pDC.
nProgressTotal
[in] O valor de progresso total.
nProgressCurr
[in] O valor de progresso atual.
clrBar
[in] A cor inicial. CMFCBaseVisualManager
ignora isso. Classes derivadas podem usá-lo para gradientes de cor.
clrProgressBarDest
[in] A cor final. CMFCBaseVisualManager
ignora isso. Classes derivadas podem usá-lo para gradientes de cor.
clrProgressText
[in] Cor do texto de progresso. CMFCBaseVisualManager
ignora isso. A cor do texto é definida por afxGlobalData.clrBtnText
.
bTextoDeProgresso
[in] Especifica se o texto de progresso deve ser exibido.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
CMFCBaseVisualManager::FillReBarPane
Preenche a tela de fundo do controle rebar usando o tema atual do Windows.
virtual void FillReBarPane(
CDC* pDC,
CBasePane* pBar,
CRect rectClient);
Parâmetros
pDC
[in] Um ponteiro para um contexto de dispositivo.
pBar
[in] Um ponteiro para um painel cujo plano de fundo deve ser desenhado.
rectClient
[in] O retângulo delimitador da área a ser preenchida.
Valor de retorno
TRUE se a API de Tema estiver habilitada; caso contrário, FALSE.
CMFCBaseVisualManager::GetStandardWindowsTheme
Obtém o tema atual do Windows.
virtual WinXpTheme GetStandardWindowsTheme();
Valor de retorno
A cor do tema do Windows selecionada no momento. Pode ser um dos seguintes valores enumerados:
WinXpTheme_None
- não há nenhum tema habilitado.WinXpTheme_NonStandard
- o tema não padrão é selecionado (o que significa que há um tema selecionado, mas não é nenhum da lista abaixo).WinXpTheme_Blue
- tema azul (Luna).WinXpTheme_Olive
- tema verde-oliva.WinXpTheme_Silver
- tema prateado.
CMFCBaseVisualManager::UpdateSystemColors
Chama OpenThemeData
para obter identificadores para desenhar vários controles: janelas, barras de ferramentas, botões e assim por diante.
void UpdateSystemColors();
Comentários
Somente para uso Interno.