c++ - 如何给 Win32 应用程序换肤

标签 c++ winapi skin

Win32 看起来很讨厌,如何通过自定义皮肤使它看起来更好?

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

那里有很多类似的应用程序,但我找不到任何合适的教程或指南,它看起来像秘方!

只有-两个-在线教程:

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

是否有任何书籍或适当的指南来学习如何为 Win32api 构建皮肤?

编辑:我接受 David Rodríguez 的评论,在下面 ↓↓

最佳答案

我在使用 C++ Builder 之前已经这样做了。我采用的方法是创建一个表单,将其设置为无边框并将整个表单涂上相同的颜色。然后我将表单透明度设置为这种颜色。然后我将图像添加到创建所需皮肤的表单中。

我确信这一切都可以通过标准的 win API 完成,但我无法描述(或建议)仅通过 API 调用来完成。

关于c++ - 如何给 Win32 应用程序换肤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9216917/

相关文章:

iphone - 如何在 iOS 应用程序中切换皮肤(或设计主题)?

android - 创建虚拟设备出现错误 "The skin directory does not point to a valid skin"

c# - 从另一个进程获取win32线程的StartAddress

c++ - async_receive_from 是否总是在处理程序中收到完整消息?

c++ - 识别 Windows 中连接的驱动器

c++ - 生成唯一的 Windows 操作系统 ID

Delphi - 如何对表单进行换肤

c++ - 非标准语法,使用 & 创建指向成员的指针

c++ - VC++ : Pass multiple arrays between functions

delphi - 如何使用AllowSetForegroundWindow?