2
votes

I have an application where, beyond my control, several Windows Forms have a TransparencyKey property set. When these windows cover (are in front of) another form which has a DirectDraw video surface, the foreground form flickers (partly showing the form and partly showing the video beneath). The thing is, the color of the TransparencyKey doesn't appear anywhere in the application, so NOTHING should be transparent... in other words, the result should be that the foreground form is completely opaque.

Flickering scenario

Does anyone have experience with DirectDraw surfaces flickering when combined with Windows Forms that are in some form or other set up to be transparent? I've worked on this for weeks, with no success. Thanks!

1

1 Answers

1
votes

I'm sorry but I would suggest that you abandon that goal completely and try to do it some other way.

DirectDraw is one way of displaying stuff on the screen, and forms with regions (that are created on the fly as masks from so called 'transparent key color') are done with GDI. As I see it (and would like to be proven otherwise) - you won't be able to combine that two windows anyway.

And you will probably get different results on different Windows, depending on the version, graphics card used, and so on.

On the other side, can you hack those forms that you don't have the control over and remove TransparencyKey property from them? Even with Win32 API?