Почему OpenThemeData(pParent, L“TEXTSTYLE”) завершается с ошибкой в XP?

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

Вопрос

Я использую библиотеку тем для рисования некоторого текста, который абсолютно нормально работает в Windows Vista, однако в Windows XP возвращаемая HTHEME равна NULL.Это код, который я использую:

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

hTheme действителен в Vista, но равен НУЛЮ в Windows XP.
Я прочитал документацию для OpenThemeData - Открытые данные и Части и состояния в MSDN, но нигде не упоминается, что TEXTSTYLE не поддерживается в XP (даже Google не выдает никаких хороших предложений).

Это было полезно?

Решение

Тема Луна (т.е.тема, созданная Microsoft, распространяемая вместе с XP) определяет только подмножество классов и частей Aero (Windows Vista и 7).

Если у вас есть доступ к компьютерам с Windows XP и Vista (или 7), вы можете просмотреть то, что определено утилитой Theme Explorer:http://sourceforge.net/projects/mctrl/files/theme-explorer/

Другие советы

Я полагаю, что в XP у вас все еще включена тематизация?Если вы отключили режим "жевательная резинка", т.е.при возврате к классическому виду все API-интерфейсы тематизации выходят из строя, и ожидается, что вы будете использовать устаревшие API-интерфейсы для рисования элементов фрейма. Управление DrawFrameControl и т.д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top