2012-02-09 5 views
9

Win32 выглядит скверно, как заставить его выглядеть лучше на пользовательских скинах?Как скрыть приложение Win32

Я имею в виду что-то вроде продуктов Adobe, Itunes, Autodesk 3dsmax и Softimage XSI, Windows Media Player, Blender, Comodo Firewall, Winamp, Babylon клиента, и несколько менеджеров загрузки и т.д.;

Есть много похожих приложений, но я не могу найти подходящий учебник или руководство, это похоже на секретный рецепт!

только -two- учебники доступны в Интернете:

старые и бесполезные: http://www.codeproject.com/Articles/20497/Draw-Skin-Window-Using-Pure-Win32-API

покрывают только непрозрачный фон (и это то, что я избегаю, мне нужно больше о компонентах GUI): http://www.flipcode.com/archives/Win32_Window_Skinning.shtml

Есть ли книга или правильное руководство, чтобы узнать, как создавать скины для Win32api?

Изменить: Я принимаю Дэвид Родригес комментарий, там ↓↓

+9

Как скрыть приложение Win32, считая, что вы уже охотились на приложение, вам понадобится очень острый нож. Удерживайте приложение от ... (извините за плохую шутку) –

+2

Если бы я знал, как бы я вам помог, но я не занимался разработкой Win32 и почти не развивал пользовательский интерфейс, поэтому я не могу помочь. Сожалею. (Кстати: я был здесь, потому что я в основном читал все вопросы с тегом C++ - когда я нахожу время как минимум) –

+1

@macbirdie: Честно говоря, я забыл об этом, прочитав некоторые официальные документы (с шуточкой * Дэвида) , Я могу представить себе успех в 50 лет, поэтому решил сосредоточиться на более полезных исследованиях - я думаю, что современная тема прекрасна, но просто производительности пока нет, с нетерпением жду Windows 8, спасибо за комментарий! ;) – sysop

ответ

3

Я сделал это перед использованием C++ Builder. Подход, который я принял, состоял в том, чтобы создать форму, установить ее без полей и покрасить всю форму одного цвета. Затем я устанавливаю прозрачность формы для этого цвета. Затем я добавляю изображения в форму, которые создают желаемый скин.

Я уверен, что все это можно сделать с помощью стандартных API-интерфейсов выигрышей, но я не могу описать (или посоветовать) это исключительно через вызовы API.

+1

Спасибо, Джонатан, у меня есть один вопрос: как вы имеете дело с компонентами графического интерфейса, такими как слайдеры Range, свитки, списки, выпадающие списки, переключатели и т. Д., Вы не можете просто применить к ним прозрачный образ, не так ли? – sysop

+1

@ Jonathan, вы посмотрели новый движок Styles, введенный в C++ Builder XE2 для пользовательского скининга? –

+0

@ RemyLebeau-TeamB, у меня еще нет XE2 :(Может ли механизм стилей упростить весь этот процесс? – Jonathan

2

Операционная система автоматически обрабатывает «скиннинг».

В классическом режиме (или Windows 2000 и более ранних версиях) это дает вам классический интерфейс. Окна рисуются так же, как они всегда были с Windows 95. Предположительно, это то, о чем вы говорите, когда говорите, что «Win32 выглядит противно». Тем не менее, вам нужно понять, что многие люди любят этот вид и, в частности, позволяют включить его на своих машинах. [ПРЕДУПРЕЖДЕНИЕ: личное мнение!] Я один из тех людей, и, судя по скриншотам, которые публикуются здесь с машин разработчиков, я определенно не единственный.

Windows XP фактически представляет «скиннинг» или анимационный движок, который живет в комплекте с DLL-файлами Windows. К explicitly linking to version 6 of ComCtl32.dll ваше приложение автоматически получит эти визуальные эффекты. Некоторые люди сказали, что эта версия Windows выглядела "Fisher-Price", в то время как другие были совершенно довольны термином «gaudy». Опция была сохранена, чтобы пользователь мог переключиться на «классическую» тему (как описано выше), если это необходимо.

Windows Vista полностью переработала компьютерный движок Windows и представила новый пользовательский интерфейс, известный как «Aero». Это обеспечивает яркие окна и элементы управления, в том числе прозрачные эффекты, то есть до тех пор, пока ваша видеокарта поддерживает его. Опять же, явно ссылаясь на версию 6 ComCtl32.dll, ваше приложение автоматически получит все эти стили.

Следует отметить, что благодаря этому Microsoft предоставила пользователям возможность настроить цвета (и шрифты и другие), используемые в пользовательском интерфейсе. Например, Aero по умолчанию имеет синий цвет. Если вам не нравится синий цвет, вы можете его изменить. Я периодически меняю цвета своего пользовательского интерфейса для удовольствия и оживляю себя. Если вы не можете читать или не любите шрифт, вы также меняете его.

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

Вкратце, обновите свой компьютер до Windows Vista или более поздней версии и включите интерфейс Aero, если вы хотите кричащий. Не переопределяйте пользователя и не пытайтесь настраивать все элементы управления. Вы просто получите приложение, которое сложно использовать, не работает должным образом, это боль в задней части, чтобы поддерживать, и, как правило, выглядит хуже, чем если бы вы просто оставили ее в покое.

+6

Это не отвечает на вопрос вообще @CodyGray. не было: «Это хорошая идея для создания пользовательского интерфейса?», но больше «Как мы можем это сделать?». – Basj

2

Если вы не боитесь, чтобы узнать, как использовать программирования низкого уровня SDK, попробуйте эту ссылку: Take control of your window code

сделать также поиск Google для WinLIFT.

+0

WinLIFT - это умирающая технология ... остановлена ​​в Windows 7. – Lothar

Смежные вопросы