AlphaBlend Child Form

I'm looking for a way for AlphaBlend to create a child form, if possible, using layered windows, since there will be interactive controls behind it.

The problem is that I have a component in a regular TForm that draws multiple visual layers (pictures, pictures ...). At some point I need to instantiate an editor control on this form (in place), this control will include many standard input controls outside of my control (edit box, checkbox, etc.), however I would wanted to overlay the layers before the layer is edited with alpha blending (and WS_EX_TRANSPARENT

to make it clickable).

I first thought about how to use child forms for this (no margins TForm

, parent component) and it works well, to the point that AlphaBlended TForm is not an alphabet at all, but becomes opaque as soon as the parent ...

Then I tried to drop the alphabetic form, set it to fsStayOnTop and, reacting to the appropriate events, save it in front of the component on the screen, which works, but this is not really a satisfying solution: alphablended StayOnTop form also sits in front of other modal and non-modal forms of the application if the user decided to move them in front of the component ...

So, any other ideas on how to have a child form should be alphabets? (or behave as is)

0


source to share


1 answer


According to MSDN, you're out of luck as WS_EX_LAYERED cannot be used for child windows .



Perhaps you can hide all editor forms when your form / application loses focus, which at least allows them to be on top of other windows. However, this is unsatisfactory ...

+2


source







All Articles