Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Yet Another Transparent Clock which Supports Custom Skin

0.00/5 (No votes)
4 Nov 2008 1  
A clock, with transparent background, supports add custom skins

Introduction

I created this tiny clock program, which supports custom skins, for my brother.

Anyone who wants to add a new skin can create a skin directory in /Theme/*.

1.jpg

2.jpg

Background

The code is written based upon Windows layered window and GDI+.

In the source code, you will find the GDIPluszH.h file which is provided here and also the CXml classes which are provided here.

How to Add a New Skin

Each type of skin is placed under the /Theme/ directory.
To add a new skin, just create another sub-directory in /Theme/, which includes the image files and configuration file.

The image files are:

  • dial.png
  • hourNeedle.png
  • minuteNeedle.png
  • secondNeedle.png

And the configuration file  is setting.xml.

There is a sample for the 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 configuration file indicates the rotate center points of the dial and the needles.

Others

You can download the source code from the link at the top of this article.

There is no need to explain more about the code because it is very easy. Moreover, there are several articles on The Code Project which explain the LAYERED window. I cannot do better.

History

  • 5th November, 2008: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here