Войти

Показать полную графическую версию : Использование интерфейс Windows Vista вне самой Висты


Admiral
29-04-2008, 20:30
Дорого время суток.
При запуске инсталлятора Windows Vista/2008, вне самой среды этих ОС, окошко "Дополнительные сведенья" использует градиент по контуру, кнопочка "Закрыть" с подсветкой градиента (см. скрин) почти так же, как и любое окно в этих ОС.
http://savepic.ru/170873.gif
Через какую технологию наиболее просто такое можно реализовать при написании своих программ? Может известно, как Microsoft такое реализовала?

То, что это один из классов .NET сомневаюсь, ибо Vista/2008й не требует пакета, для своей установки, а соответственно и для отображения того окна в таком виде. Подозреваю, что копать надо в сторону GDI+.

ResHack по инсталлятору ничего не дал, поиск по Использованию интерфейса Виста в ваших программах тоже. В разделе Программирование фильтр по слову Vista показал вообще две темы.

У кого какие предложения? Тема как теория, практические средства и языки предлагать любые.
Заранее спасибо.

Busla
29-04-2008, 22:10
А чего тут удивительного? - Разве мало программ отрисовывает элементы интерфейса самостоятельно? - тот же Winamp или FastStone.

Admiral
29-04-2008, 22:31
Ничего и нет удивительного.

Меня смущает та технология которой я интерфейс ХР под другими ОС отрисововал: с помощью ключевых картинок, аналогично например как автор статьи Разработка окна в стиле Windows XP (http://www.vbnet.ru/articles/showarticle.aspx?id=105)
Для этого использовал картинки разных состояний.http://savepic.ru/134008.gif

К итерфейсу Висты интересен более гибкий подход. Здесь имеем дело с градиентом, с ним будет сложнее работать по той технологии какую я применял для прорисовки ХР интерфейса вне неё.

Busla
30-04-2008, 13:39
Подход ровно тот же - картинка просто не по границам видимой кнопки, а по границам градиента. В случае одной кнопки, можно даже с "активной областью" не заморачиваться.

А зачем интерфейс XP под другими ОС перерисовывать?

Admiral
01-05-2008, 17:11
Ну что ж, придется по старинки.
Я всё таки надеюсь, что альтернативный, более гибкий подход будет найден.

Это мулька была во времена начала продаж XP, а начиная с 2003-го её сменил Longhorn Style, после него Vista Style. Насчёт XP Style – Luna: дизайн очень приглянулся, а распрощаться с Win9x/Me пользователи не хотели. Профессионалы на графику внимания не обращают, но начинающие её любят.
Это ещё что, а было очень мало прог, которые объявили себя Millenium Style – все в зелёненькой окраске цветов WinME.

Uzvern
04-05-2008, 21:08
Admiral, если есть возможность вставить *.gif или *.png изображение, то могу нарисовать данную кнопку.

Спокойное положение : http://i31.tinypic.com/aoxhyb.png
Кнопочку потревожили мышкой (или чем-нибудь другим, вообщем ей это не понравилось) : http://i32.tinypic.com/24mcn7t.png
На кнопку кликнули или сделали что-то другое : http://i29.tinypic.com/2w2evl0.png

Делал на скорую руку, поэтому прошу сильно не бить. Если нужно качествесвенно, то пиши. Других вариантов решения задачи не имею.

Admiral
04-05-2008, 21:24
Спасибо мен. В соседней теме я видел приложение со своим стилем, довольно таки неплохо смотрится.
У Microsoft же в инсталляторе в ресурсах не нарыл графики кнопок, они какую-то иную технологию применяют для сабжа (АПИ какой-то для прорисовки заточили что ли?).

Uzvern
04-05-2008, 21:46
Спасибо мен. В соседней теме я видел приложение со своим стилем, довольно таки неплохо смотрится. »

Графика - мое, прогрммирование - твое :yes:
Понадобится что-о графическое - добро пожаловать. Кста, те кнопочки, иконки, стили то рисовать?

XPEHOMETP
05-05-2008, 23:41
У Microsoft же в инсталляторе в ресурсах не нарыл графики кнопок, »
Кнопочки могли кинуть в виде ресурсов в какую-нибудь DLL.

Admiral
06-05-2008, 01:34
Так и есть, в файле Sources\spwizimg.dll, там держат графику, в том числе и градиентную рамочку для форм. http://savepic.ru/169653.gif
А в другом файле Sources\spwizres.dll держат диалоги, полностью голые. http://savepic.ru/171701.jpg
А дело setupа маленькое, смиксовать сиё.
Выходит Microsoft не придумывало велосипеда и поступила так же как я в своё время для имитации ХРшного вида. Хорошо сделали сияние, переход тени градиента кнопочки (см. первый пост), в ресурсах всё сырое.

Кстати про ХР, для него есть неплохой НЕТовский набор компонентов http://www.dacris.com/downloads/detail.aspx?id=12
Правда нужен ли он во времена 2008й студии, где хватает своих?

EvgeniyQQQ
14-05-2008, 14:27
Народ, подскажите пожалуйста.

Если я правильно понимаю, при установке в Windows XP новой темы оформления окон мы "говорим" системе и выполняющимся в ней приложениям где брать файл(ы) с ресурсами (где есть изображения красивых кнопочек и т.д.). Можно ли указать приложению путь к этим файлам ресурсов? То есть, чтобы система работала с одним оформлением окон (темой), а данное приложение с другим оформлением. Может это можно как то сделать на этапе компиляции?

Admiral
14-05-2008, 17:18
Врятли возможно.
Во первых нужно найти файл с ХРшным хрестиком и патчить его, если такой вообще есть, по моему там манифест всё делает, так во всяком случаи "апгрейдили" софт 98/ME для нормальной визуальной работы под ХР,
во вторых даже в самих ресурсах, как видно на скрине, никакого градиента подсветки нету, так что нужно ещё правильно сними обращаться и обрабатывать такие ресурсы. Сомневаюсь что Explorer.exe ХР способен обучится работать с градиентом так же как хотя бы инсталлер Виндовс Vista/2008, не говоря о том что б как Explorer в сабжевих ОС.

Admiral
23-05-2008, 18:35
Пока остановился на прежнем решении, которое применял для отображения ХР стиля.
Здесь кнопочки по круче, по этому, в качестве графического облегчением буду использовать следующие:
технологию из руководства Vista Button (http://gimp-tutorials.net/gimp-vista-button)
а так же, как вариант быстрого (платного) решения - утилита vista-buttons (http://vista-buttons.com/download.html). Бесплатная (http://vista-buttons.com/vista-buttons-setup.exe) версия которого оставляет свой вклад в кнопки в виде пометки Trial.
Программный вариант всё ещё рассматривается как альтернатива.
Надеюсь, что Seven Styles удастся разгадать программно.




© OSzone.net 2001-2012