Condividi tramite


Classe CMFCBaseVisualManager

Livello tra i gestori visivi derivati e l'API tema di Windows.

CMFCBaseVisualManager carica UxTheme.dll, se disponibile, e gestisce l'accesso ai metodi dell'API tema di Windows.

Questa classe è solo per uso interno.

Sintassi

class CMFCBaseVisualManager: public CObject

Membri

Costruttori pubblici

Nome Descrizione
CMFCBaseVisualManager::CMFCBaseVisualManager Costruisce e inizializza un oggetto CMFCBaseVisualManager.
CMFCBaseVisualManager::~CMFCBaseVisualManager Distruttore.

Metodi pubblici

Nome Descrizione
CMFCBaseVisualManager::D rawCheckBox Disegna un controllo casella di controllo utilizzando il tema di Windows corrente.
CMFCBaseVisualManager::D rawComboBorder Disegna un bordo casella combinata utilizzando il tema di Windows corrente.
CMFCBaseVisualManager::D rawComboDropButton Disegna un pulsante a discesa casella combinata usando il tema di Windows corrente.
CMFCBaseVisualManager::D rawPushButton Disegna un pulsante di pressione usando il tema di Windows corrente.
CMFCBaseVisualManager::D rawRadioButton Disegna un controllo pulsante di opzione utilizzando il tema di Windows corrente.
CMFCBaseVisualManager::D rawStatusBarProgress Disegna una barra di stato su un controllo barra di stato ( classe CMFCStatusBar) usando il tema di Windows corrente.
CMFCBaseVisualManager::FillReBarPane Riempie lo sfondo del controllo rebar usando il tema di Windows corrente.
CMFCBaseVisualManager::GetStandardWindowsTheme Ottiene il tema corrente di Windows.

Metodi protetti

Nome Descrizione
CMFCBaseVisualManager::CleanUpThemes Chiama CloseThemeData tutti gli handle ottenuti in UpdateSystemColors.
CMFCBaseVisualManager::UpdateSystemColors Chiamate OpenThemeData per ottenere handle per disegnare vari controlli: finestre, barre degli strumenti, pulsanti e così via.

Osservazioni:

Non è necessario creare direttamente un'istanza di oggetti di questa classe.

Poiché si tratta di una classe di base per tutti i gestori visivi, è sufficiente chiamare CMFCVisualManager::GetInstance, ottenere un puntatore a Visual Manager corrente e accedere ai metodi per CMFCBaseVisualManager l'uso di tale puntatore. Tuttavia, se è necessario visualizzare un controllo usando il tema di Windows corrente, è preferibile usare l'interfaccia CMFCVisualManagerWindows .

Gerarchia di ereditarietà

CObject

CMFCBaseVisualManager

Requisiti

Intestazione: afxvisualmanager.h

CMFCBaseVisualManager::CleanUpThemes

Chiama CloseThemeData tutti gli handle ottenuti in UpdateSystemColors.

void CleanUpThemes();

Osservazioni:

Solo per uso interno.

CMFCBaseVisualManager::CMFCBaseVisualManager

Costruisce e inizializza un oggetto CMFCBaseVisualManager.

CMFCBaseVisualManager();

CMFCBaseVisualManager::D rawCheckBox

Disegna un controllo casella di controllo utilizzando il tema di Windows corrente.

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

);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo

rect
[in] Rettangolo di delimitazione della casella di controllo.

bHighlighted
[in] Specifica se la casella di controllo è evidenziata.

nState
[in] 0 per deselezionato, 1 per la normale controllata,

2 per la normale mista.

bEnabled
[in] Specifica se la casella di controllo è abilitata.

bPressed
[in] Specifica se viene premuta la casella di controllo.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

Osservazioni:

I valori di nState corrispondono agli stili di casella di controllo seguenti.

nState Stile casella di controllo
0 CBS_UNCHECKEDNORMAL
1 CBS_CHECKEDNORMAL
2 CBS_MIXEDNORMAL

CMFCBaseVisualManager::D rawComboBorder

Disegna il bordo della casella combinata utilizzando il tema di Windows corrente.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Rettangolo di delimitazione del bordo della casella combinata.

bDisabled
[in] Specifica se il bordo della casella combinata è disabilitato.

bIsDropped
[in] Specifica se il bordo della casella combinata viene eliminato.

bIsHighlighted
[in] Specifica se il bordo della casella combinata è evidenziato.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

CMFCBaseVisualManager::D rawComboDropButton

Disegna un pulsante a discesa casella combinata usando il tema di Windows corrente.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Rettangolo di delimitazione del pulsante a discesa casella combinata.

bDisabled
[in] Specifica se il pulsante a discesa casella combinata è disabilitato.

bIsDropped
[in] Specifica se il pulsante a discesa casella combinata viene eliminato.

bIsHighlighted
[in] Specifica se il pulsante a discesa casella combinata è evidenziato.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

CMFCBaseVisualManager::D rawPushButton

Disegna un pulsante di pressione usando il tema di Windows corrente.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Rettangolo di delimitazione del pulsante di pressione.

pButton
[in] Puntatore all'oggetto Classe CMFCButton da disegnare.

uiState
[in] Ignorato. Lo stato viene preso da pButton.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

CMFCBaseVisualManager::D rawRadioButton

Disegna un controllo pulsante di opzione utilizzando il tema di Windows corrente.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Rettangolo di delimitazione del pulsante di opzione.

bHighlighted
[in] Specifica se il pulsante di opzione è evidenziato.

bChecked
[in] Specifica se il pulsante di opzione è selezionato.

bEnabled
[in] Specifica se il pulsante di opzione è abilitato.

bPressed
[in] Specifica se viene premuto il pulsante di opzione.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

CMFCBaseVisualManager::D rawStatusBarProgress

Disegna la barra di stato sul controllo barra di stato ( classe CMFCStatusBar) usando il tema di Windows corrente.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

pStatusBar
[in] Puntatore alla barra di stato. Questo valore viene ignorato.

rectProgress
[in] Rettangolo di delimitazione della barra di stato nelle coordinate pDC .

nProgressTotal
[in] Valore di stato totale.

nProgressCurr
[in] Valore di stato corrente.

clrBar
[in] Colore iniziale. CMFCBaseVisualManager ignora questo. Le classi derivate possono usarlo per le sfumature di colore.

clrProgressBarDest
[in] Colore finale. CMFCBaseVisualManager ignora questo. Le classi derivate possono usarlo per le sfumature di colore.

clrProgressText
[in] Colore del testo di stato. CMFCBaseVisualManager ignora questo. Il colore del testo è definito da afxGlobalData.clrBtnText.

bProgressText
[in] Specifica se visualizzare il testo dello stato di avanzamento.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

CMFCBaseVisualManager::FillReBarPane

Riempie lo sfondo del controllo rebar usando il tema di Windows corrente.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

pBar
[in] Puntatore a un riquadro il cui sfondo deve essere disegnato.

rectClient
[in] Rettangolo di delimitazione dell'area da riempire.

Valore restituito

TRUE se l'API del tema è abilitata; in caso contrario FALSE.

CMFCBaseVisualManager::GetStandardWindowsTheme

Ottiene il tema corrente di Windows.

virtual WinXpTheme GetStandardWindowsTheme();

Valore restituito

Colore del tema di Windows attualmente selezionato. Può essere uno dei valori enumerati seguenti:

  • WinXpTheme_None - Non è abilitato alcun tema.

  • WinXpTheme_NonStandard - È selezionato un tema non standard (ovvero un tema è selezionato, ma nessuno nell'elenco seguente).

  • WinXpTheme_Blue - tema blu (Luna).

  • WinXpTheme_Olive - tema oliva.

  • WinXpTheme_Silver - tema argento.

CMFCBaseVisualManager::UpdateSystemColors

Chiamate OpenThemeData per ottenere handle per disegnare vari controlli: finestre, barre degli strumenti, pulsanti e così via.

void UpdateSystemColors();

Osservazioni:

Solo per uso interno.

Vedi anche

Grafico della gerarchia
Classi