다음을 통해 공유


CMFCBaseVisualManager 클래스

파생된 시각적 관리자와 Windows 테마 API 간의 계층입니다.

CMFCBaseVisualManager 는 사용 가능한 경우 UxTheme.dll 로드하고 Windows 테마 API 메서드에 대한 액세스를 관리합니다.

이 클래스는 내부 전용입니다.

구문

class CMFCBaseVisualManager: public CObject

멤버

공용 생성자

속성 설명
CMFCBaseVisualManager::CMFCBaseVisualManager CMFCBaseVisualManager 개체를 생성하고 초기화합니다.
CMFCBaseVisualManager::~CMFCBaseVisualManager 소멸자

공용 메서드

이름 설명
CMFCBaseVisualManager::D rawCheckBox 현재 Windows 테마를 사용하여 확인란 컨트롤을 그립니다.
CMFCBaseVisualManager::D awComboBorder 현재 Windows 테마를 사용하여 콤보 상자 테두리를 그립니다.
CMFCBaseVisualManager::D awComboDropButton 현재 Windows 테마를 사용하여 콤보 상자 드롭다운 단추를 그립니다.
CMFCBaseVisualManager::D rawPushButton 현재 Windows 테마를 사용하여 푸시 단추를 그립니다.
CMFCBaseVisualManager::D rawRadioButton 현재 Windows 테마를 사용하여 라디오 단추 컨트롤을 그립니다.
CMFCBaseVisualManager::D rawStatusBarProgress 현재 Windows 테마를 사용하여 상태 표시줄 컨트롤( CMFCStatusBar 클래스)에 진행률 표시줄을 그립니다.
CMFCBaseVisualManager::FillReBarPane 현재 Windows 테마를 사용하여 철근 컨트롤의 배경을 채웁니다.
CMFCBaseVisualManager::GetStandardWindowsTheme 현재 Windows 테마를 가져옵니다.

보호된 메서드

속성 설명
CMFCBaseVisualManager::CleanUpThemes 에서 가져온 모든 핸들에 UpdateSystemColors대한 호출 CloseThemeData 입니다.
CMFCBaseVisualManager::UpdateSystemColors 창, 도구 모음, 단추 등 다양한 컨트롤을 그리기 위한 핸들을 가져오는 호출 OpenThemeData 입니다.

설명

이 클래스의 개체를 직접 인스턴스화할 필요는 없습니다.

모든 시각적 관리자에 대한 기본 클래스이므로 CMFCVisualManager::GetInstance를 호출하고, 현재 Visual Manager에 대한 포인터를 가져오고, 해당 포인터를 사용하기 위한 메서드에 CMFCBaseVisualManager 액세스할 수 있습니다. 그러나 현재 Windows 테마를 사용하여 컨트롤을 표시해야 하는 경우 인터페이스를 사용하는 CMFCVisualManagerWindows 것이 좋습니다.

상속 계층 구조

CObject

CMFCBaseVisualManager

요구 사항

헤더: afxvisualmanager.h

CMFCBaseVisualManager::CleanUpThemes

에서 가져온 모든 핸들에 UpdateSystemColors대한 호출 CloseThemeData 입니다.

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] 확인란을 누를지 여부를 지정합니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

nState값은 다음 확인란 스타일에 해당합니다.

nState 확인란 스타일
0 CBS_UNCHECKEDNORMAL
1 CBS_CHECKEDNORMAL
2 CBS_MIXEDNORMAL

CMFCBaseVisualManager::D awComboBorder

현재 Windows 테마를 사용하여 콤보 상자 테두리를 그립니다.

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

매개 변수

pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.

rect
[in] 콤보 상자 테두리의 경계 사각형입니다.

bDisabled
[in] 콤보 상자 테두리를 사용하지 않도록 설정할지 여부를 지정합니다.

bIsDropped
[in] 콤보 상자 테두리를 삭제할지 여부를 지정합니다.

bIsHighlighted
[in] 콤보 상자 테두리가 강조 표시될지 여부를 지정합니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCBaseVisualManager::D awComboDropButton

현재 Windows 테마를 사용하여 콤보 상자 드롭다운 단추를 그립니다.

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

매개 변수

pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.

rect
[in] 콤보 상자 드롭다운 단추의 경계 사각형입니다.

bDisabled
[in] 콤보 상자 드롭다운 단추를 사용할 수 없는지 여부를 지정합니다.

bIsDropped
[in] 콤보 상자 드롭다운 단추가 드롭다운되는지 여부를 지정합니다.

bIsHighlighted
[in] 콤보 상자 드롭다운 단추가 강조 표시될지 여부를 지정합니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 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에서 가져옵니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 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] 라디오 단추를 누를지 여부를 지정합니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCBaseVisualManager::D rawStatusBarProgress

현재 Windows 테마를 사용하여 상태 표시줄 컨트롤( CMFCStatusBar 클래스)에 진행률 표시줄을 그립니다.

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] 상태 표시줄에 대한 포인터입니다. 이 값은 무시됩니다.

rectProgress
[in] pDC 좌표에서 진행률 표시줄의 경계 사각형입니다.

nProgressTotal
[in] 총 진행률 값입니다.

nProgressCurr
[in] 현재 진행률 값입니다.

clrBar
[in] 시작 색입니다. CMFCBaseVisualManager 은 이 작업을 무시합니다. 파생 클래스는 색 그라데이션에 사용할 수 있습니다.

clrProgressBarDest
[in] 끝 색입니다. CMFCBaseVisualManager 은 이 작업을 무시합니다. 파생 클래스는 색 그라데이션에 사용할 수 있습니다.

clrProgressText
[in] 진행률 텍스트 색입니다. CMFCBaseVisualManager 은 이 작업을 무시합니다. 텍스트 색은 .에 의해 afxGlobalData.clrBtnText정의됩니다.

bProgressText
[in] 진행률 텍스트를 표시할지 여부를 지정합니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCBaseVisualManager::FillReBarPane

현재 Windows 테마를 사용하여 철근 컨트롤의 배경을 채웁니다.

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

매개 변수

pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.

pBar
[in] 배경을 그려야 하는 창에 대한 포인터입니다.

rectClient
[in] 채울 영역의 경계 사각형입니다.

Return Value

테마 API를 사용하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCBaseVisualManager::GetStandardWindowsTheme

현재 Windows 테마를 가져옵니다.

virtual WinXpTheme GetStandardWindowsTheme();

Return Value

현재 선택한 Windows 테마 색입니다. 다음 열거형 값 중 하나일 수 있습니다.

  • WinXpTheme_None - 테마를 사용할 수 없습니다.

  • WinXpTheme_NonStandard - 비표준 테마가 선택됩니다(테마가 선택되었지만 아래 목록에서는 없음).

  • WinXpTheme_Blue - 파란색 테마 (루나).

  • WinXpTheme_Olive - 올리브 테마.

  • WinXpTheme_Silver - 실버 테마입니다.

CMFCBaseVisualManager::UpdateSystemColors

창, 도구 모음, 단추 등 다양한 컨트롤을 그리기 위한 핸들을 가져오는 호출 OpenThemeData 입니다.

void UpdateSystemColors();

설명

내부 전용.

참고 항목

계층 구조 차트
클래스