다음을 통해 공유


DrawThemeBackground 함수(uxtheme.h)

지정된 컨트롤 파트에 대한 시각적 스타일로 정의된 테두리 및 채우기를 그립니다.

구문

HRESULT DrawThemeBackground(
  [in] HTHEME  hTheme,
  [in] HDC     hdc,
  [in] int     iPartId,
  [in] int     iStateId,
  [in] LPCRECT pRect,
  [in] LPCRECT pClipRect
);

매개 변수

[in] hTheme

형식: HTHEME

창의 지정된 테마 데이터에 대한 핸들입니다. OpenThemeData를 사용하여 HTHEME를 만듭니다.

[in] hdc

형식: HDC

테마 정의 배경 이미지를 그리는 데 사용되는 HDC입니다.

[in] iPartId

형식: int

그릴 부분을 지정하는 int 형식의 값입니다. 부품 및 상태를 참조하세요.

[in] iStateId

형식: int

그릴 파트의 상태를 지정하는 int 형식의 값입니다. 부품 및 상태를 참조하세요.

[in] pRect

형식: const RECT*

사각형이 포함된 RECT 구조체에 대한 포인터로, 논리 좌표로 배경 이미지가 그려집니다.

[in] pClipRect

형식: const RECT*

클리핑 사각형을 포함하는 RECT 구조체에 대한 포인터입니다. 이 매개 변수는 NULL로 설정할 수 있습니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

그리기 작업은 pRect에 지정된 사각형을 초과하지 않고 맞게 크기가 조정됩니다. 애플리케이션이 pClipRect로 지정된 사각형 외부에 그리면 안 됩니다.

예제

창의 배경 이미지를 그리기 위해 DrawThemeBackground 를 호출하기 전에 IsThemeBackgroundPartiallyTransparent를 호출할 수 있습니다. 이 메서드는 부분적으로 투명하거나 알파 혼합된 자식 컨트롤 뒤에 배경을 그리기 위해 DrawThemeParentBackground 를 호출해야 하는지 여부를 결정하고 다음 예제에서 설명합니다.

if (_hTheme)
{
  if (IsThemeBackgroundPartiallyTransparent(_hTheme, BP_PUSHBUTTON, _iStateId))
  {
    DrawThemeParentBackground(_hwnd, hdcPaint, prcPaint);
  }

  DrawThemeBackground(_hTheme,
                    hdcPaint,
                    BP_PUSHBUTTON,
                    _iStateId,
                    &rcClient,
                    prcPaint);
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 uxtheme.h
라이브러리 UxTheme.lib
DLL UxTheme.dll

추가 정보

속성 식별자