![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
neosapient |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: 3 Всего: 4 |
допустим это так.
понял, сейчас вставлю парочку, посмотрю что будет (буду искать десять отличий). ![]()
у меня открывается, но не вовсех примерах, конкретнее проблемы в StileTest2.rar (не компилиться) и в StileTest4.rar (диалог About не запускается).
Голубенькая - всмысле голубая коемка вдоль периметра? Ссделал снимки кнопок, в трех ситуациях (рисунки прикреплены в архиве): 1 - выбран классический стиль 2 - выбран стиль ХР, манифест не подключен 3 - выбран стиль ХР, манифест подключен Ну вижу я небольшие различия, и если из-за них столько шумихи, то мне это не совсем понятно, зачем?.. -------------------- Видел я некую програмку, называется что ли "ХРстиль". Так с ее помошью все кнопки перекрашиваются по всей винде. Я так думал, что та прога создавала невыгружаемые классы контролов, в которых происходила перерисовка обычных контролов в другие формы и цветовые гаммы. Но сейчас подумал, что для задания "формы и гаммы" используется другой механизм? Или описаный мной механизм выведен на более высокий уровень, но какой? Если слегка упростить вопрос, то можно ли без использования такого приема как субклассинг, на основе манифестов задействовать механизм, который даст мне еще один вид кнопки, отличный от тех трех. Это сообщение отредактировал(а) neosapient - 25.11.2006, 14:03 Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
||||||||
|
|||||||||
BUGOR |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 1 Всего: 16 |
А чё? По-моему красиво ![]()
Нет, я так не думаю, по-крайней мере в своей практике таких способов я не встречал. |
||||
|
|||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: 3 Всего: 4 |
И еще вопросики, очень важные для меня:
Есть функция bool IsThemeActive() - проверяет, включены ли темы. Я так понимаю есть флаг, который указывает включены ли темы для всей winXP. 1) Как управлять флагом (чтоб самому включать и отключать темы для всех контролов по всей винде)? 2) Есть ли подобный флаг для всех контролов одного типа? 3) Есть ли подобный флаг для всех контролов принадлежащих одному приложению? 4) Можно ли в одном окне откючить темы скажем для всех кнопок, для одной определенной кнопки своего или чужого приложения? ![]() Это сообщение отредактировал(а) neosapient - 26.11.2006, 13:07 |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 1 Всего: 16 |
Сама функция IsThemeActive получает значение флага подключаясь к именованому порту(ZwConnectPort) - ThemeApiConnectionRequest, далее ждёт и получает ответ из порта(ZwRequestWaitReplyPort), ну а далее из структуры PORT_MESSSAGE(она кстати недокументирована, поэтому ищи её в сети) получает возвращаемое значение. Как управлять не знаю, дизасмить ядро нет желания ![]() |
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: 3 Всего: 4 |
Может стоит дезасемблировать uxtheme.dll
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
смысл? - может просто msdn почитать?
EnableTheming все остальные вопросы решаются перечислением всех окон(приложения) и функцией SetWindowTheme |
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: 3 Всего: 4 |
dumb, спасибо за функции.
Но я попытался сделать примерчик, который должен включать/выключать темы при запуске. А в результате получил такой эффект 1) ДО: Темы выключены - стиль классический ПОСЛЕ: Запуск программы никаких эффектов не дает. 2) ДО: Темы включены - стиль ХР, манифесты работают ПОСЛЕ: Запуск программы не выключает стильХР, но отключает все манифесты у всех окошек. 3) ДО: Темы включены - стиль ХР, манифесты не работают ПОСЛЕ: Запуск программы не выключает стильХР, манифесты остаются отключенными у всех окошек. Собственно помогите запустить первый пункт. Это сообщение отредактировал(а) neosapient - 26.11.2006, 23:07 Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() |
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: 3 Всего: 4 |
Что никто не знает, как исправить
![]() |
|||
|
||||
neosapient |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: 3 Всего: 4 |
Раз профи в этой теме нет, закрываю
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |