In the past I developed very often SplashScreens to bridge loading time and I always played around with Windows API to make windows partly transparent.
Now I tried to make a real cool SplashScreen, because I wanted to understand some principles of multithreaded coding (splash screens should not increase loading time), user experience (users should feel that they know, what’s going on and how long it really takes), coolness (like transparency and the effect “wow – how this is done – the developer must be a great guy”).
So for the last effect I searched quite a lot but finally I found a very easy thing – just a property of a Windows Form in .NET: TransparencyKey – so if you set the TransparencyKey to a value like LimeGreen – everything on the Form becomes transparent if it’s Background Color is LimeGreen.
Property TransparencyKey of a Windows Form
Here the form an the stuff that should be transparent is LimeGreen now.
And here the result on my desktop – with red highlighting to highlight what I meant.
Cool – isn’t it?
Yes, very cool. I have been fiddling with this too, and trying to write the current program version on the run, but cant control the colors of the text. Did you write the version stuff dynamically or is it static?
I’m working with Delphi 2007 though, so there might be some differences.
Using C# it is working, but not very nice, because the rendering of the text looks worse. Maybe just use a picture of your text to get a workaround? I’ve been a Delphi Follower from the very beginning up to Delphi 5 and decided to become a Anders Heijlsberg follower –> that means .NET and C# now.
Yes, I have been using Anders’s compiler tools since the early Pascal days with his first compiler/IDE Compas Pascal, PolyPascal and Borland/Turbo Pascal.
In my current job I code in Delphi 2007 with the promise to upgrade to C# in the near future. We code against a really old framework done in some old Borland Pascal and then later upgraded to some older than 2007 Delphi.
It goes without saying that we are itching to get upgraded. But alas, the decision is not ours so we must be patient.