Yesterday our product manager came to me and asked me to replace our old splash screen with a new more fancy one that he had designed. The new splash image has alpha transparency and so we had to make our splash form a layered window. Unfortunately the UpdateLayeredWindow() API function doesn’t allow to use controls on the form. After half an hour I came up with a solution that I found on the Internet and as a result I decided to rewrite the JEDI JVCL component TJvTransparentForm to not only support regions but also layered windows. Now it is just loading a PNG image into a TImage control and placing a TJvTransparentForm on the splash form to get everything done.
The smiley in the picture is not our new splash image.
Very nice 🙂
Thank you for your effort.
Very good, I’ve already donne this too.
But I got a problem when I need the window be parented by other window.
Your component keep the align properties to it owner without removing the transparent aspect ?
All controls are neither transparent nor alpha blended. Only the background image is alpha blended.
Are you going to free this source ?
I use UpdateLayeredWindow(), I got result that I was looking for, but I’d like to check for other options, ’cause I need to create to much implementation to control owner’s resize and keep the image in the correct place.
What I have donne. http://img14.imageshack.us/img14/1149/alpharx.jpg All the things in red boxes are transparent forms.
The code is part of the JVCL open source project (http://sourceforge.net/projects/jvcl/). But you need the subversion head of the JCL (JEDI Code Library, http://sourceforge.net/projects/jcl/) and the JVCL (JEDI Visual Component Library) to get the code because I’ve committed it this morning.
Hello!
where i can download your “ReWriten” Transparent form? =)
It will be part of the next JVCL release. But you can obtain it directly from the JVCL’s subversion repository (but you also need the JclGraphics.pas from the JCL’s subversion repository).
http://sourceforge.net/projects/jcl/
http://sourceforge.net/projects/jvcl/
Thanks 😉 i will waching it and wait next update/release
The new TransparentForm doesn’t compile for the CB6, the error message is:
JvFormTransparent.pas(301, 303) Too many actual parameters
You need a updated JCL. The JCL’s daily build is too old because the last time the “daily build” was created was 2010-05-11. And that was 3 days before I made the JVCL and JCL changes.