XP에서 OpenTheMedata (Pparent, L“TextStyle”)가 실패하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1086327

문제

테마 라이브러리를 사용하여 Windows Vista에서 절대적으로 잘 작동하는 텍스트를 그립니다. 이것은 내가 사용하는 코드입니다.

HTHEME hTheme = ::OpenThemeData(pParent, L"TEXTSTYLE");

HTheme은 Vista에서 유효하지만 Windows XP에서는 Null입니다.
문서를 읽었습니다 Openthemedata 그리고 부품 및 상태 MSDN에서는 텍스트 스타일이 XP에서 지원되지 않는다는 것을 언급하지 않습니다 (Google조차도 좋은 제안을하지 않습니다).

도움이 되었습니까?

해결책

Luna 테마 (예 : XP로 배포 된 Microsoft-Made 테마)는 클래스의 하위 집합과 Aero의 일부만 정의합니다 (Windows Vista 및 7).

Windows XP 및 Vista (또는 7)가있는 기계에 액세스 할 수있는 경우 테마 탐색기 유틸리티에서 정의 된 내용을 미리 볼 수 있습니다.http://sourceforge.net/projects/mctrl/files/theme-explorer/

다른 팁

XP에서 여전히 테마가 켜져 있다고 가정합니까? "Bubblegum"모드를 끄면 클래식 룩으로 되돌려 놓은 경우, 테마 API가 모두 실패하고 레거시 API를 사용하여 프레임 요소를 그릴 것으로 예상됩니다. DrawFrameControl 등.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top