GDI+Visual C++ 7.1Visual C++ 8.0Windows VistaVisual C++ 7.0Windows 2003Win32Windows 2000Visual C++ 6.0Windows XP初学者开发WindowsC++
又一个支持自定义皮肤的透明时钟






3.41/5 (17投票s)
一个带有透明背景的时钟,支持添加自定义皮肤
引言
我为我的兄弟创建了这个小型的时钟程序,它支持自定义皮肤。
任何想要添加新皮肤的人,都可以在/Theme/*目录下创建一个皮肤目录。

背景
代码是基于 Windows 分层窗口和 GDI+ 编写的。
在源代码中,你会找到GDIPluszH.h文件,该文件由这里提供,以及这里提供的CXml
类。
如何添加新皮肤
每种类型的皮肤都放置在/Theme/目录下。
要添加新皮肤,只需在/Theme/目录下创建另一个子目录,其中包含图像文件和配置文件。
图像文件是
- dial.png
- hourNeedle.png
- minuteNeedle.png
- secondNeedle.png
配置文件是setting.xml。
这里有一个setting.xml的示例
<?xml version="1.0" encoding="UTF-8"?>
<skin>
<dial>
<filename>dial.png</filename>
<centerX>200</centerX>
<centerY>206</centerY>
</dial>
<hourNeedle>
<filename>hourNeedle.png</filename>
<centerX>14</centerX>
<centerY>176</centerY>
</hourNeedle>
<minuteNeedle>
<filename>minuteNeedle.png</filename>
<centerX>14</centerX>
<centerY>176</centerY>
</minuteNeedle>
<secondNeedle>
<filename>secondNeedle.png</filename>
<centerX>14</centerX>
<centerY>194</centerY>
</secondNeedle>
</skin>
配置文件指示表盘和指针的旋转中心点。
其他
你可以从本文顶部的链接下载源代码。
代码无需过多解释,因为它非常简单。此外,The Code Project 上有许多文章解释了分层窗口。我无法做得更好。
历史
- 2008年11月5日:初始发布