Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поддержка приложением тем Windows 
V
    Опции темы
gamedeveloper
Дата 14.3.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.7.2007

Репутация: нет
Всего: нет



Как можно заставить, например, кнопку поддерживать темы Windows?
PM MAIL   Вверх
korian
Дата 14.3.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 4
Всего: 17



ключевое слово для поиска - Manifest
PM   Вверх
BorisVorontsov
Дата 15.3.2008, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 4
Всего: 10



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


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
gamedeveloper
Дата 15.3.2008, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.7.2007

Репутация: нет
Всего: нет



Спасибо, korian. Пару изменений в ресурсах проекта - и всё работает.
Но мне интересно, можно ли реализовать поддержку тем другим способом?
PM MAIL   Вверх
LED
Дата 18.3.2008, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.2.2008

Репутация: 1
Всего: 1



2 gamedeveloper: не мог бы сказать какие конкретно изменения и какую среду ты используешь?
PM MAIL Jabber   Вверх
gamedeveloper
Дата 18.3.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.7.2007

Репутация: нет
Всего: нет



Изменения: поддержка приложением тем Windows XP
среда: Microsoft Visual Studio 2005.

Но я уже писал, что всё работает. Сейчас меня просто интересует вопрос, можно ли это сделать через функции WinApi (если такие есть) или для того чтобы реализовать поддержку тем, нужно по другому компилировать проект и поэтому никакого WinApi быть не может?
PM MAIL   Вверх
BorisVorontsov
Дата 18.3.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 4
Всего: 10



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


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


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
gamedeveloper
Дата 18.3.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.7.2007

Репутация: нет
Всего: нет



Я просто имел ввиду: можно ли это сделать не используя манифесты?
PM MAIL   Вверх
UTeX
Дата 22.3.2008, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.3.2008

Репутация: нет
Всего: нет



Цитата(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
PM MAIL ICQ   Вверх
UTeX
Дата 22.3.2008, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.3.2008

Репутация: нет
Всего: нет



вот кстати еще линк

http://www.codeproject.com/KB/cpp/AddXpStyle.aspx
PM MAIL ICQ   Вверх
gamedeveloper
Дата 23.3.2008, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.7.2007

Репутация: нет
Всего: нет



спасибо, всем.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1133 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.