Partilhar via


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

CObject

CMFCBaseVisualManager

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.

Confira também

Gráfico da hierarquia
Classes