I have recently stumbled upon a program that permits a person to have an animated image "dance" across the users' current active window. The problem is.. something very strange occurs when I have this animated image dancing across MY program's main window.
For some reason, whenever I either maximize or minimize MY program's main window (while this animated image is dancing across my screen), whatever frame within the images' animation sequence that happened to be playing when I maximized/minimized my screen, gets "imprinted" on MY main program's window.

Ex:
If the animated image happened to be jumping when I maximized my window.. a jumping character would be imprinted on my main window's screen (wherever that image was jumping at at the time of the window's maximization).

The problem is.. the "imprinted" image.. does NOT go away on my main window's screen!

In order to get rid of that imprinted image.. I've tried Invalidating my window's entire screen on window maximization (which works some of the time) but some times.. the screen invalidation does NOT get rid of the imprinted image.

The only method I've found that actually gets rid of the imprinted image EVERY time.. is to drag my program's window off screen.. and pull it back on the desktop again.. which does an automatic screen invalidation, and repaints everything on the screen when the window becomes visible again.

My question is.. WHY isn't a simple screen invalidation getting rid of the imprinted image every time I force a screen invalidation?

Please Note: Yes, I am sure the screen is being invalidated when it is supposed to be, as the entire screen "flickers" on screen invalidation. (But the imprinted image is still there!)

Recommended Answers

All 6 Replies

What graphics library are you using?

None as far as I know (unless GUI/GUI+ are graphic libraries).. I'm using Win32 in my program.

Do you experience this on a different computer as well, or just your own?

I havn't tried the program out on another computer.. but I've tried minimizing/maximizing other programs with the animated image playing.. and THOSE programs do not capture the image as mine does.. so I'm pretty sure the problem has to do with my program in particular.. and not with the pc I'm on.

Is this "program" code that you embed within your own code or does it run over top of your program? Have you looked through the source of this "program" to see if there is a drawing command that is getting goofed up by the max/min operation(s)?

I have a program.exe, created with Win32/C++. When I run program.exe, and have the animation playing over my .exe.... an image becomes embedded on my .exe's screen.

Also, all that happens on WM_SIZE (screen Maxmize event) is a screen invalidation.. which should not have any effect on my current drawing functions.

All I am using is simple GUI/blitblt stuff.. so I don't think that my actual code is interfering with what is happening on the screen.

Also note: There have been times where I have had other windows over MY program.exe's window.. and the images off of those programs.. get copied onto my program.exe's screen.

Ex:
While running internet explorer.. any image that was on internet explorer gets copied onto MY program.exe's window!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.