다음을 통해 공유


시각적 스타일 개요

이 항목에서는 시각적 스타일을 설명하고 이를 지원하는 Windows 구성 요소를 식별합니다. 또한 애플리케이션에서 시각적 스타일을 사용하기 위해 수행해야 하는 단계에 대해서도 설명합니다. 이 항목에는 다음 섹션이 포함되어 있습니다.

테마 및 비주얼 스타일

Windows에는 사용자가 개별 요구 사항과 기본 설정에 맞게 UI를 조정할 수 있는 몇 가지 기능이 포함되어 있습니다. 이러한 기능에는 Microsoft Plus에 도입된 테마가 포함됩니다! Windows 95의 경우 테마는 배경 화면, 커서, 글꼴, 소리 및 아이콘을 포함하는 사용자가 선택할 수 있는 설정 컬렉션입니다. 다음은 테마의 몇 가지 특징입니다.

  • 테마 설정은 win.ini 파일과 유사한 형식의 .theme 파일에 지정됩니다.
  • ISV(독립 소프트웨어 공급업체)는 제품과 함께 .theme 파일을 만들고 배포할 수 있습니다.
  • Windows Vista 이전 버전에서는 테마 파일이 디스플레이 제어판의 테마 탭에 표시됩니다. Windows Vista 이상에서는 개인 설정 제어판에 테마가 표시됩니다.

.theme 파일에 대한 자세한 내용은 테마 파일 형식을 참조하세요.

시각적 스타일은 Windows 공용 컨트롤의 모양을 정의하는 사양입니다. 시각적 스타일은 테마와 연관됩니다. 즉, .theme 파일에는 특정 테마가 활성화될 때 적용할 시각적 스타일을 지정하는 섹션이 포함되어 있습니다. 다음은 시각적 스타일의 일부 특성입니다.

  • 사용자는 다른 테마를 선택하여 언제든지 시각적 스타일을 변경할 수 있습니다.
  • 시각적 스타일 API를 사용하여 애플리케이션의 사용자 지정 또는 소유자가 그린 컨트롤에 현재 활성 시각적 스타일을 적용해야 합니다(있는 경우).
  • 시각적 스타일을 정의하는 정보는 .msstyles 파일에 저장됩니다. Microsoft는 .msstyles 파일 작성을 지원하지 않습니다.

다음 그림에서는 투명하지 않은 Windows Aero 테마를 사용하는 Windows 7 바탕 화면에서 작업 표시줄이 있는 간단한 대화 상자를 보여 줍니다. 애플리케이션이 시각적 스타일을 사용하도록 구성되지 않았기 때문에 단추는 테마 설정에 관계없이 동일하게 나타납니다.

투명도를 사용하지 않는 단추가 있는 대화 상자의 스크린샷

대조적으로, 다음 그림에서는 같은 바탕 화면에 있는 같은 대화 상자를 보여 주지만 이번에는 애플리케이션이 시각적 스타일과 함께 작동하도록 구성되었습니다. 클라이언트 영역의 단추 모양이 다른 것을 확인합니다. 시스템이 Aero 테마에 정의된 시각적 스타일을 적용했기 때문에 단추가 다르게 보입니다.

투명도를 사용하는 단추가 있는 대화 상자의 스크린샷

다음 예에서는 Windows 8 바탕 화면의 유사한 대화 상자를 보여 줍니다. Windows 8에서는 시각적 스타일이 Always On이므로 Windows 8 앱은 "무료로" 테마를 사용할 수 있습니다.

Windows 8 바탕 화면의 간단한 대화 상자 스크린샷

시각적 스타일 구성 요소

시각적 스타일은 다음 구성 요소에서 지원됩니다.

  • 공용 컨트롤 라이브러리 버전 6 이상(ComCtl32.dll)
  • UxTheme.dll에 구현된 시각적 스타일 API
  • 테마 서비스
  • 하나 이상의 시각적 스타일 정의 파일(.msstyles)

시각적 스타일 API는 테마라는 시스템 서비스에 의존합니다. 공용 컨트롤 라이브러리는 테마 서비스를 쿼리하여 스타일 관련 정보를 가져오고 Windows 7까지 서비스를 사용하여 현재 시각적 스타일의 컨트롤을 렌더링합니다.

Windows 8 이상에서는 테마 서비스가 꺼져 있어도 시각적 스타일 API가 계속 작동합니다. 즉, 테마 서비스가 꺼져 있어도 공용 컨트롤과 창의 비클라이언트 영역에는 여전히 시각적 스타일이 있습니다. 여전히 테마 서비스가 필요한 Windows 8 기능은 다음과 같습니다.

  • 일반적으로 PC 설정개인 설정 페이지를 통해 시각적 스타일을 변경합니다.
  • 사용자 전환, 로그오프, 종료 및 사용자 세션 간 공유와 관련된 성능을 최적화합니다.

시각적 스타일 API는 현재 선택한 테마와 연결된 .msstyles 파일에서 스타일 정보를 가져옵니다. .msstyles 파일에는 시각적 스타일을 정의하는 메트릭, 글꼴, 색 및 비트맵 집합이 포함되어 있습니다.

시각적 스타일 지원을 위한 애플리케이션 요구 사항

시각적 스타일을 사용하려면 애플리케이션이 ComCtl32.dll 버전 6 이상이 포함된 운영 체제에서 실행 중이어야 합니다. 애플리케이션에서 ComCtl32.dll 버전 6을 사용하려면 애플리케이션 매니페스트 또는 컴파일러 지시문을 추가하여 사용 가능한 경우 버전 6을 사용하도록 지정해야 합니다. 애플리케이션에서 시각적 스타일을 사용할 수 있도록 애플리케이션 매니페스트를 만드는 방법에 대한 자세한 내용은 시각적 스타일 사용을 참조하세요.

공용 컨트롤의 경우 컨트롤이 사용자가 기본 설정하는 시각적 스타일로 표시되도록 하기 위해 추가 작업이 필요하지 않습니다.

애플리케이션에 사용자 지정 또는 소유자가 그린 컨트롤이 포함된 경우 시각적 스타일 API를 사용하여 현재 활성 시각적 스타일에 대한 정보를 검색하고 해당 스타일로 컨트롤을 그려야 합니다.

Windows 8 이전 Windows 버전의 경우 애플리케이션은 일반적으로 사용자 지정 컨트롤과 소유자가 그린 컨트롤을 그리기 위한 두 개의 별도 코드 경로를 제공해야 합니다. 하나의 코드 경로는 시각적 스타일을 사용하는 테마가 활성화될 때 컨트롤을 그리고 다른 코드 경로는 Windows 클래식 테마 또는 고대비 테마가 활성화될 때 컨트롤을 그립니다. 그러나 Windows 8에서는 시각적 스타일이 Always On이므로 별도의 테마 코드 경로가 필요하지 않습니다. Windows 8용으로 표시된 애플리케이션은 고대비 테마를 "무료"로 가져옵니다. 자세한 내용은 고대비 테마 지원을 참조하세요.

자세한 내용은 사용자 지정 컨트롤 및 소유자가 그린 컨트롤과 함께 시각적 스타일 사용시각적 스타일 참조를 참조하세요.

시각적 스타일