Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Поддержка приложением тем Windows


Автор: gamedeveloper 14.3.2008, 18:58
Как можно заставить, например, кнопку поддерживать темы Windows?

Автор: korian 14.3.2008, 20:47
ключевое слово для поиска - Manifest

Автор: BorisVorontsov 15.3.2008, 00:23
Может, автор про Custom Control'ы? Тогда рисуй DrawTheme*-функциями.

Автор: gamedeveloper 15.3.2008, 19:59
Спасибо, korian. Пару изменений в ресурсах проекта - и всё работает.
Но мне интересно, можно ли реализовать поддержку тем другим способом?

Автор: LED 18.3.2008, 10:26
2 gamedeveloper: не мог бы сказать какие конкретно изменения и какую среду ты используешь?

Автор: gamedeveloper 18.3.2008, 21:01
Изменения: поддержка приложением тем Windows XP
среда: Microsoft Visual Studio 2005.

Но я уже писал, что всё работает. Сейчас меня просто интересует вопрос, можно ли это сделать через функции WinApi (если такие есть) или для того чтобы реализовать поддержку тем, нужно по другому компилировать проект и поэтому никакого WinApi быть не может?

Автор: BorisVorontsov 18.3.2008, 21:11
Цитата(gamedeveloper @  18.3.2008,  21:01 Найти цитируемый пост)
или для того чтобы реализовать поддержку тем, нужно по другому компилировать проект


Совсем не обязательно. Достаточно, что бы проект импортировал какую-нибудь функцию из comctl32. В таком случае можно будет просто добавить к exe-файлу *.manifest-файл (полное имя exe-файла + расширение .manifest). Это обычный xml-файл (с тем же текстом, что в ресурсах).

Автор: gamedeveloper 18.3.2008, 22:51
Я просто имел ввиду: можно ли это сделать не используя манифесты?

Автор: UTeX 22.3.2008, 07:59
Цитата(gamedeveloper @ 18.3.2008,  22:51)
Я просто имел ввиду: можно ли это сделать не используя манифесты?

скорее всего делается это так

Код

void SetThemeAppProperties(STAP_ALLOW_NONCLIENT|STAP_ALLOW_WEBCONTENT|STAP_ALLOW_CONTROLS);

+ каждому контролу посылается сообщение о смене темы WM_THEMECHANGED

http://www.wasm.ru/forum/viewtopic.php?id=25712

Автор: UTeX 22.3.2008, 08:31
вот кстати еще линк

http://www.codeproject.com/KB/cpp/AddXpStyle.aspx

Автор: gamedeveloper 23.3.2008, 18:40
спасибо, всем.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)