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à
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.