65.9K
CodeProject 正在变化。 阅读更多。
Home

又一个支持自定义皮肤的透明时钟

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.41/5 (17投票s)

2008年11月5日

CPOL

1分钟阅读

viewsIcon

40860

downloadIcon

4905

一个带有透明背景的时钟,支持添加自定义皮肤

引言

我为我的兄弟创建了这个小型的时钟程序,它支持自定义皮肤。

任何想要添加新皮肤的人,都可以在/Theme/*目录下创建一个皮肤目录。

1.jpg

2.jpg

背景

代码是基于 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日:初始发布
© . All rights reserved.