Как сделать скин для приложения Win32 - PullRequest
9 голосов
/ 09 февраля 2012

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

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

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

только -два учебника доступны онлайн:

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

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

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

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

Ответы [ 3 ]

3 голосов
/ 09 февраля 2012

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

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

2 голосов
/ 03 января 2013

Если вы не боитесь научиться использовать низкоуровневое программирование SDK, тогда попробуйте эту ссылку: Возьмите под свой контроль код окна

Также выполните поиск Google для WinLIFT.

2 голосов
/ 10 февраля 2012

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

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

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

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

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

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

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

...