CMFCBaseVisualManager – třída
Vrstva mezi odvozeným správcem vizuálů a rozhraním API motivu Windows.
CMFCBaseVisualManager
načte UxTheme.dll, pokud je k dispozici, a spravuje přístup k metodám rozhraní API motivu Systému Windows.
Tato třída je určena pouze pro interní použití.
Syntaxe
class CMFCBaseVisualManager: public CObject
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CMFCBaseVisualManager::CMFCBaseVisualManager | Vytvoří a inicializuje CMFCBaseVisualManager objekt. |
CMFCBaseVisualManager::~CMFCBaseVisualManager |
Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CMFCBaseVisualManager::D rawCheckBox | Nakreslí ovládací prvek zaškrtávacího políčka pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::D rawComboBorder | Nakreslí ohraničení pole se seznamem pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::D rawComboDropButton | Nakreslí rozevírací tlačítko pole se seznamem pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::D rawPushButton | Nakreslí tlačítko push pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::D rawRadioButton | Nakreslí ovládací prvek přepínač pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::D rawStatusBarProgress | Nakreslí indikátor průběhu na ovládací prvek stavového řádku ( CMFCStatusBar – třída) pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::FillReBarPane | Vyplní pozadí ovládacího prvku rebar pomocí aktuálního motivu Windows. |
CMFCBaseVisualManager::GetStandardWindowsTheme | Získá aktuální motiv Windows. |
Chráněné metody
Název | Popis |
---|---|
CMFCBaseVisualManager::CleanUpThemes | Volání CloseThemeData pro všechny popisovače získané v UpdateSystemColors . |
CMFCBaseVisualManager::UpdateSystemColors | Volání OpenThemeData pro získání popisovačů pro kreslení různých ovládacích prvků: okna, panely nástrojů, tlačítka atd. |
Poznámky
Není nutné vytvořit instanci objektů této třídy přímo.
Protože se jedná o základní třídu pro všechny správce vizuálů, můžete jednoduše volat CMFCVisualManager::GetInstance, získat ukazatel na aktuální Visual Manager a získat přístup k metodám pro CMFCBaseVisualManager
použití daného ukazatele. Pokud ale potřebujete zobrazit ovládací prvek pomocí aktuálního motivu Windows, je lepší použít CMFCVisualManagerWindows
rozhraní.
Hierarchie dědičnosti
Požadavky
Záhlaví: afxvisualmanager.h
CMFCBaseVisualManager::CleanUpThemes
Volání CloseThemeData
pro všechny popisovače získané v UpdateSystemColors
.
void CleanUpThemes();
Poznámky
Jen pro interní potřebu
CMFCBaseVisualManager::CMFCBaseVisualManager
Vytvoří a inicializuje CMFCBaseVisualManager
objekt.
CMFCBaseVisualManager();
CMFCBaseVisualManager::D rawCheckBox
Nakreslí ovládací prvek zaškrtávacího políčka pomocí aktuálního motivu Windows.
virtual BOOL DrawCheckBox(
CDC* pDC,
CRect rect,
BOOL bHighlighted,
int nState,
BOOL bEnabled,
BOOL bPressed);
);
Parametry
pDC
[v] Ukazatel na kontext zařízení
Rect
[v] Ohraničující obdélník zaškrtávacího políčka.
bHighlighted
[v] Určuje, jestli je zaškrtávací políčko zvýrazněné.
nState
[in] 0 pro nezaškrtnuté, 1 pro zaškrtnuté normální,
2 pro smíšený normální.
bEnabled
[v] Určuje, jestli je zaškrtávací políčko povolené.
bPressed
[v] Určuje, zda je zaškrtávací políčko stisknuto.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
Poznámky
Hodnoty nState odpovídají následujícím stylům zaškrtávacích políček.
nState | Styl zaškrtávacího políčka |
---|---|
0 | CBS_UNCHECKEDNORMAL |
0 | CBS_CHECKEDNORMAL |
2 | CBS_MIXEDNORMAL |
CMFCBaseVisualManager::D rawComboBorder
Nakreslí ohraničení pole se seznamem pomocí aktuálního motivu Windows.
virtual BOOL DrawComboBorder(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
Rect
[v] Ohraničující obdélník ohraničení pole se seznamem
bDisabled
[v] Určuje, jestli je ohraničení pole se seznamem zakázané.
BIsDropped
[v] Určuje, jestli je ohraničení pole se seznamem vyřazeno.
bIsHighlighted
[v] Určuje, zda je zvýrazněno ohraničení pole se seznamem.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
CMFCBaseVisualManager::D rawComboDropButton
Nakreslí rozevírací tlačítko pole se seznamem pomocí aktuálního motivu Windows.
virtual BOOL DrawComboDropButton(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
Rect
[v] Ohraničující obdélník rozevíracího seznamu pole se seznamem
bDisabled
[v] Určuje, jestli je rozevírací tlačítko se seznamem zakázané.
BIsDropped
[v] Určuje, jestli je rozevírací tlačítko pole se seznamem vyřazeno.
bIsHighlighted
[v] Určuje, jestli je zvýrazněné rozevírací tlačítko pole se seznamem.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
CMFCBaseVisualManager::D rawPushButton
Nakreslí tlačítko push pomocí aktuálního motivu Windows.
virtual BOOL DrawPushButton(
CDC* pDC,
CRect rect,
CMFCButton* pButton,
UINT uiState);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
Rect
[v] Ohraničující obdélník tlačítka.
pButton
[v] Ukazatel na OBJEKT CMFCButton Class , který chcete nakreslit.
uiState
[v] Ignorovaný. Stav je převzat z pButton.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
CMFCBaseVisualManager::D rawRadioButton
Nakreslí ovládací prvek přepínač pomocí aktuálního motivu Windows.
virtual BOOL DrawRadioButton(
CDC* pDC,
CRect rect,
BOOL bHighlighted,
BOOL bChecked,
BOOL bEnabled,
BOOL bPressed);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
Rect
[v] Ohraničující obdélník přepínače.
bHighlighted
[v] Určuje, jestli je přepínač zvýrazněný.
bChecked
[v] Určuje, zda je přepínač zaškrtnut.
bEnabled
[v] Určuje, jestli je přepínač povolený.
bPressed
[v] Určuje, zda je přepínač stisknut.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
CMFCBaseVisualManager::D rawStatusBarProgress
Nakreslí indikátor průběhu na ovládací prvek stavového řádku ( CMFCStatusBar – třída) pomocí aktuálního motivu Windows.
virtual BOOL DrawStatusBarProgress(
CDC* pDC,
CMFCStatusBar* pStatusBar,
CRect rectProgress,
int nProgressTotal,
int nProgressCurr,
COLORREF clrBar,
COLORREF clrProgressBarDest,
COLORREF clrProgressText,
BOOL bProgressText);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
pStatusBar
[v] Ukazatel na stavový řádek Tato hodnota je ignorována.
rectProgress
[v] Ohraničující obdélník indikátoru průběhu v souřadnicích pDC .
nProgressTotal
[v] Celková hodnota průběhu.
nProgressCurr
[v] Aktuální hodnota průběhu.
clrBar
[v] Počáteční barva. CMFCBaseVisualManager
to ignoruje. Odvozené třídy ji mohou použít pro barevné přechody.
clrProgressBarDest
[v] Koncová barva. CMFCBaseVisualManager
to ignoruje. Odvozené třídy ji mohou použít pro barevné přechody.
clrProgressText
[v] Barva textu průběhu CMFCBaseVisualManager
to ignoruje. Barva textu je definována .afxGlobalData.clrBtnText
bProgressText
[v] Určuje, jestli se má zobrazovat text průběhu.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
CMFCBaseVisualManager::FillReBarPane
Vyplní pozadí ovládacího prvku rebar pomocí aktuálního motivu Windows.
virtual void FillReBarPane(
CDC* pDC,
CBasePane* pBar,
CRect rectClient);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
pBar
[v] Ukazatel na podokno, jehož pozadí by mělo být nakresleno.
rectClient
[v] Ohraničující obdélník oblasti, která se má vyplnit.
Návratová hodnota
TRUE, pokud je povolené rozhraní API motivu; jinak NEPRAVDA.
CMFCBaseVisualManager::GetStandardWindowsTheme
Získá aktuální motiv Windows.
virtual WinXpTheme GetStandardWindowsTheme();
Návratová hodnota
Aktuálně vybraná barva motivu Windows. Může to být jedna z následujících výčtových hodnot:
WinXpTheme_None
- Není povolený žádný motiv.WinXpTheme_NonStandard
- Je vybrán nestandardní motiv (což znamená, že je vybraný motiv, ale žádný z níže uvedených seznamů).WinXpTheme_Blue
- modrý motiv (Luna).WinXpTheme_Olive
- olivový motiv.WinXpTheme_Silver
- stříbrný motiv.
CMFCBaseVisualManager::UpdateSystemColors
Volání OpenThemeData
pro získání popisovačů pro kreslení různých ovládacích prvků: okna, panely nástrojů, tlačítka atd.
void UpdateSystemColors();
Poznámky
Jen pro interní potřebu