Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Слой между производными визуальными диспетчерами и API темы Windows.
CMFCBaseVisualManager загружает UxTheme.dll, если он доступен, и управляет доступом к методам API темы Windows.
Этот класс предназначен только для внутреннего использования.
Синтаксис
class CMFCBaseVisualManager: public CObject
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| CMFCBaseVisualManager::CMFCBaseVisualManager | Создает и инициализирует объект CMFCBaseVisualManager. |
CMFCBaseVisualManager::~CMFCBaseVisualManager |
Деструктор. |
Открытые методы
| Имя | Описание |
|---|---|
| CMFCBaseVisualManager::D rawCheckBox | Рисует элемент управления флажком с помощью текущей темы Windows. |
| CMFCBaseVisualManager::D rawComboBorder | Рисует границу поля со списком с помощью текущей темы Windows. |
| CMFCBaseVisualManager::D rawComboDropButton | Рисует кнопку раскрывающегося списка со списком с помощью текущей темы Windows. |
| CMFCBaseVisualManager::D rawPushButton | Рисует кнопку нажатия с помощью текущей темы Windows. |
| CMFCBaseVisualManager::D rawRadioButton | Рисует элемент управления переключателем с помощью текущей темы Windows. |
| CMFCBaseVisualManager::D rawStatusBarProgress | Рисует индикатор хода выполнения на элементе управления строкой состояния ( класс CMFCStatusBar) с помощью текущей темы Windows. |
| CMFCBaseVisualManager::FillReBarPane | Заполняет фон элемента управления перекладиной с помощью текущей темы Windows. |
| CMFCBaseVisualManager::GetStandardWindowsTheme | Возвращает текущую тему Windows. |
Защищенные методы
| Имя | Описание |
|---|---|
| CMFCBaseVisualManager::CleanUpThemes | Вызовы CloseThemeData всех дескрипторов, полученных в UpdateSystemColors. |
| CMFCBaseVisualManager::UpdateSystemColors | Вызовы OpenThemeData для получения дескрипторов для рисования различных элементов управления: окон, панелей инструментов, кнопок и т. д. |
Замечания
Не нужно создавать экземпляры объектов этого класса напрямую.
Так как это базовый класс для всех визуальных менеджеров, можно просто вызвать CMFCVisualManager::GetInstance, получить указатель на текущий визуальный диспетчер и получить доступ к методам для CMFCBaseVisualManager использования этого указателя. Однако если вам нужно отобразить элемент управления с помощью текущей темы Windows, лучше использовать CMFCVisualManagerWindows интерфейс.
Иерархия наследования
Требования
Заголовок: afxvisualmanager.h
CMFCBaseVisualManager::CleanUpThemes
Вызовы CloseThemeData всех дескрипторов, полученных в UpdateSystemColors.
void CleanUpThemes();
Замечания
Только для внутреннего пользования.
CMFCBaseVisualManager::CMFCBaseVisualManager
Создает и инициализирует объект CMFCBaseVisualManager.
CMFCBaseVisualManager();
CMFCBaseVisualManager::D rawCheckBox
Рисует элемент управления флажком с помощью текущей темы Windows.
virtual BOOL DrawCheckBox(
CDC* pDC,
CRect rect,
BOOL bHighlighted,
int nState,
BOOL bEnabled,
BOOL bPressed);
);
Параметры
pDC
[in] Указатель на контекст устройства
rect
[in] Ограничивающий прямоугольник флажка.
bHighlighted
[in] Указывает, выделен ли флажок.
nState
[in] 0 для снятой проверки, 1 для проверенного нормального,
2 для смешанного нормального.
bEnabled
[in] Указывает, включен ли флажок.
bPressed
[in] Указывает, нажимается ли флажок.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Значения nState соответствуют следующим стилям флажка.
| nState | Стиль флажка |
|---|---|
| 0 | CBS_UNCHECKEDNORMAL |
| 1 | CBS_CHECKEDNORMAL |
| 2 | CBS_MIXEDNORMAL |
CMFCBaseVisualManager::D rawComboBorder
Рисует границу поля со списком с помощью текущей темы Windows.
virtual BOOL DrawComboBorder(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
Параметры
pDC
[in] Указатель на контекст устройства.
rect
[in] Ограничивающий прямоугольник границы со списком.
bDisabled
[in] Указывает, отключена ли граница поля со списком.
bIsDropped
[in] Указывает, удаляется ли граница поля со списком.
bIsHighlighted
[in] Указывает, выделена ли граница поля со списком.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCBaseVisualManager::D rawComboDropButton
Рисует кнопку раскрывающегося списка со списком с помощью текущей темы Windows.
virtual BOOL DrawComboDropButton(
CDC* pDC,
CRect rect,
BOOL bDisabled,
BOOL bIsDropped,
BOOL bIsHighlighted);
Параметры
pDC
[in] Указатель на контекст устройства.
rect
[in] Ограничивающий прямоугольник раскрывающегося списка со списком.
bDisabled
[in] Указывает, отключена ли кнопка раскрывающегося списка со списком.
bIsDropped
[in] Указывает, удаляется ли кнопка раскрывающегося списка со списком.
bIsHighlighted
[in] Указывает, выделена ли кнопка раскрывающегося списка со списком.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCBaseVisualManager::D rawPushButton
Рисует кнопку нажатия с помощью текущей темы Windows.
virtual BOOL DrawPushButton(
CDC* pDC,
CRect rect,
CMFCButton* pButton,
UINT uiState);
Параметры
pDC
[in] Указатель на контекст устройства.
rect
[in] Ограничивающий прямоугольник кнопки нажатия.
pButton
[in] Указатель на объект класса CMFCButton для рисования.
uiState
[in] Игнорировать. Состояние взято из pButton.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCBaseVisualManager::D rawRadioButton
Рисует элемент управления переключателем с помощью текущей темы Windows.
virtual BOOL DrawRadioButton(
CDC* pDC,
CRect rect,
BOOL bHighlighted,
BOOL bChecked,
BOOL bEnabled,
BOOL bPressed);
Параметры
pDC
[in] Указатель на контекст устройства.
rect
[in] Ограничивающий прямоугольник переключателя.
bHighlighted
[in] Указывает, выделена ли переключатель.
bChecked
[in] Указывает, установлен ли переключатель.
bEnabled
[in] Указывает, включена ли переключатель.
bPressed
[in] Указывает, нажимается ли переключатель.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCBaseVisualManager::D rawStatusBarProgress
Рисует индикатор хода выполнения на панели состояния ( класс CMFCStatusBar) с помощью текущей темы Windows.
virtual BOOL DrawStatusBarProgress(
CDC* pDC,
CMFCStatusBar* pStatusBar,
CRect rectProgress,
int nProgressTotal,
int nProgressCurr,
COLORREF clrBar,
COLORREF clrProgressBarDest,
COLORREF clrProgressText,
BOOL bProgressText);
Параметры
pDC
[in] Указатель на контекст устройства.
pStatusBar
[in] Указатель на строку состояния. Это значение игнорируется.
rectProgres
[in] Ограничивающий прямоугольник индикатора хода выполнения в координатах pDC .
nProgressTotal
[in] Общее значение хода выполнения.
nProgressCurr
[in] Текущее значение хода выполнения.
clrBar
[in] Начальный цвет.
CMFCBaseVisualManager игнорирует это. Производные классы могут использовать его для градиентов цветов.
clrProgressBarDest
[in] Цвет конца.
CMFCBaseVisualManager игнорирует это. Производные классы могут использовать его для градиентов цветов.
clrProgressText
[in] Цвет текста хода выполнения.
CMFCBaseVisualManager игнорирует это. Цвет текста определяется .afxGlobalData.clrBtnText
bProgressText
[in] Указывает, следует ли отображать текст хода выполнения.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCBaseVisualManager::FillReBarPane
Заполняет фон элемента управления перекладиной с помощью текущей темы Windows.
virtual void FillReBarPane(
CDC* pDC,
CBasePane* pBar,
CRect rectClient);
Параметры
pDC
[in] Указатель на контекст устройства.
pBar
[in] Указатель на панель, фон которой должен быть нарисован.
rectClient
[in] Ограничивающий прямоугольник области, который нужно заполнить.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если ВКЛЮЧЕН API темы; в противном случае ЗНАЧЕНИЕ FALSE.
CMFCBaseVisualManager::GetStandardWindowsTheme
Возвращает текущую тему Windows.
virtual WinXpTheme GetStandardWindowsTheme();
Возвращаемое значение
Выбранный в данный момент цвет темы Windows. Может быть одним из следующих перечисленных значений:
WinXpTheme_None— тема не включена.WinXpTheme_NonStandard— выбрана нестандартная тема (то есть выбрана тема, но ни одна из перечисленных ниже).WinXpTheme_Blue- синяя тема (Луна).WinXpTheme_Olive- оливковая тема.WinXpTheme_Silver- серебряная тема.
CMFCBaseVisualManager::UpdateSystemColors
Вызовы OpenThemeData для получения дескрипторов для рисования различных элементов управления: окон, панелей инструментов, кнопок и т. д.
void UpdateSystemColors();
Замечания
Только для внутреннего пользования.