JVCL TJvTransparentForm rewritten

By | May 13, 2010

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.

Semi-Transparent form in action

In design mode

The smiley in the picture is not our new splash image.

10 thoughts on “JVCL TJvTransparentForm rewritten

  1. Rodrigo Farias

    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 ?

  2. Rodrigo Farias

    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.

  3. Vladimir

    The new TransparentForm doesn’t compile for the CB6, the error message is:
    JvFormTransparent.pas(301, 303) Too many actual parameters

  4. Andreas Hausladen Post author

    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.

Comments are closed.