如何皮肤Win32应用程序 [英] How to Skin an Win32 Application

查看:130
本文介绍了如何皮肤Win32应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我的意思是像Adobe的产品,iTunes,Autodesk 3dsmax和Softimage XSI, Windows媒体播放器,Blender,Comodo防火墙,Winamp,Babylon客户端和几个下载管理器等。

;



有很多类似的应用程序,找不到任何正确的教程或指南,它看起来像秘方!



只有-two-在线教程:


旧无用: http: //www.codeproject.com/Articles/20497/Draw-Skin-Window-Using-Pure-Win32-API



只覆盖不透明背景(以及这是我避免的,我需要更多关于GUI组件):
http://www.flipcode.com/档案/ Win32_Window_Skinning.shtml


是否有任何书或适当的指南来了解如何为Win32api ?



编辑:我接受DavidRodríguez的评论,在那里↓↓



在经典模式(或Windows 2000和更高版本)中,操作系统会自动处理换肤早期版本),这给你一个经典的界面。窗口是绘制,就像他们总是从Windows 95.大概,这是你指的是当你说Win32看起来很讨厌。但是,你需要意识到,许多人都喜欢这种外观,特别选择在他们的机器上启用它。 [警告:个人意见来了!] 我是这些人中的一个,根据从开发人员发布的截图,机器,我绝对不是唯一的一个。



Windows XP实际上引入了skinning或主题引擎,它位于一组Windows DLL中。通过显式链接到版本6的ComCtl32.dll ,您的应用程序将自动获得这些视觉效果。有些人说这个版本的Windows看起来费舍尔价格,而其他人完全幸福与术语花纹。保留该选项以允许用户切换到经典主题(如上所述),如果需要。



Windows Vista彻底改造了Windows的主题引擎,并推出了一个名为Aero的新UI。这提供了华丽的窗口和控件,完整的透明效果,即,只要你的显卡支持它。同样,通过显式链接到ComCtl32.dll的版本6,您的应用程序将自动获得所有这些样式。



值得注意的是,为用户提供了自定义在用户界面中使用的颜色(以及字体和其他内容)的功能。例如,Aero默认为蓝色。如果你不喜欢蓝色,你可以改变它。我定期改变我的UI颜色的乐趣和重新激励自己。



因此,如果你选择做某事不同 >与您的应用程序,定义您自己的自定义调色板和忽略用户通过提供的自定义界面选择的选项,您的应用程序将看起来破碎,伸出来像一个疼痛的拇指在用户的桌面上。在设计用户界面时,您想要做的最后一个事情是看起来不同。



简而言之,将计算机升级到Windows Vista或更高版本,并启用Aero界面,如果你想闪光。不要覆盖用户或尝试自定义绘制所有的控件。你最终会得到一个难以使用的应用程序,不能按预期工作,是后方维护的痛苦,只是一般看起来比如果你只是单独留下更差。


Win32 look nasty, how to make it look better by custom skins?

I mean something like Adobe products, iTunes, Autodesk 3dsmax and Softimage XSI, Windows media player, Blender, Comodo firewall, Winamp, Babylon client, and few download managers etc.;

there are many similar applications out there but I can't find any proper tutorial or guideline, it looks like secret recipe!

only -two- tutorials available online:

old and useless: http://www.codeproject.com/Articles/20497/Draw-Skin-Window-Using-Pure-Win32-API

only cover opaque background (and this is what I avoid, I need more about GUI components): http://www.flipcode.com/archives/Win32_Window_Skinning.shtml

Is there any book or proper guideline to learn how to build skins for Win32api?

Edit: I accept David Rodríguez comment, down there ↓↓

解决方案

The operating system handles "skinning" for you automatically.

In "classic" mode (or Windows 2000 and earlier versions), this gets you a, well classic-looking interface. The windows are drawn just like they always were since Windows 95. Presumably, this is what you are referring to when you say that "Win32 look nasty". However, you need to realize that many people like this look and specifically choose to enable it on their machines. [WARNING: Personal opinion coming up!] I'm one of those people, and judging from the screenshots that get posted here from developers' machines, I'm definitely not the only one.

Windows XP actually introducing the "skinning" or theming engine, which lives in a set of Windows DLLs. By explicitly linking to version 6 of ComCtl32.dll, your application would automatically get these visual effects. Some people said this version of Windows looked "Fisher-Price", while others were perfectly happy with the term "gaudy". The option was retained to allow the user to switch to the "classic" theme (as described above), if desired.

Windows Vista completely overhauled Windows's theming engine and introduced a new UI known as "Aero". This provides flashy-looking windows and controls, complete with transparency effects—that is, as long as your graphics card supports it. Again, by explicitly linking to version 6 of ComCtl32.dll, your application would automatically get all of these styles applied.

It's worth noting that through all of this, Microsoft has provided users with the ability to customize the colors (and fonts and other things) used in the user interface. For example, Aero defaults to blue. If you don't like blue, you can change it. I change my UI colors periodically for fun and to re-energize myself. If you can't read or don't like the font, you change it, too.

Thus, if you choose to do something different with your application, defining your own custom color palette and ignoring the options chosen by the user through the provided customization interface, your app is going to look broken and stick out like a sore thumb on the user's desktop. When designing a UI, the last thing you want to do is to be or look different.

In short, upgrade your computer to Windows Vista or later and enable the Aero interface if you want flashy. Don't override the user or try to custom draw all of your controls. You'll just end up with an application that is hard to use, doesn't work as expected, is a pain in the rear to maintain, and just generally looks worse than if you'd simply left it alone.

这篇关于如何皮肤Win32应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆