Red TransparencyKey Not Working on Non Development Computer

  • Thread starter Gregory A Greenman
  • Start date
G

Gregory A Greenman

I created a simple program that does little more than display a
bitmap on the screen so that I could try out the TransparancyKey
property. Any color in the window that matches the TransparencyKey
should be transparent, so that users see whatever is behind the
window at those points, rather than the window itself.

I set FormBorderStyle to none, BackgroundImage to an embedded
bitmap, BackColor to Red and TransparencyKey to Red. The bitmap is
the same size as the window's client area. It uses only two colors,
Green and Red. The Red it uses is the same as the TransparencyKey.

After building the application, if I run the resulting exe outside
the IDE on my computer, it works as I intended. Only the green part
of the bitmap shows up, and anything behind the app's window shows
up where the bitmap is red.

If I copy the exe to my wife's computer and run it, she sees the
red areas. It is not transparent.

I then created an install project to install the program, but got
the same result.

What am I doing wrong?
 
H

Herfried K. Wagner [MVP]

Gregory,

Gregory A Greenman said:
I created a simple program that does little more than display a
bitmap on the screen so that I could try out the TransparancyKey
property. Any color in the window that matches the TransparencyKey
should be transparent, so that users see whatever is behind the
window at those points, rather than the window itself.

I set FormBorderStyle to none, BackgroundImage to an embedded
bitmap, BackColor to Red and TransparencyKey to Red. The bitmap is
the same size as the window's client area. It uses only two colors,
Green and Red. The Red it uses is the same as the TransparencyKey.

After building the application, if I run the resulting exe outside
the IDE on my computer, it works as I intended. Only the green part
of the bitmap shows up, and anything behind the app's window shows
up where the bitmap is red.

If I copy the exe to my wife's computer and run it, she sees the
red areas. It is not transparent.

Make sure the computer's color depth is set to 32-bit.
 
G

Gregory A Greenman

Gregory,



Make sure the computer's color depth is set to 32-bit.


Hi, thanks for the fast response.

Since my previous post, I also tried this on my laptop computer. It
has the same problem.

Checking both my laptop and my wife's computer, both are set to 32-
bit.

I checked the color depth of the bitmap itself. It was set to 24. I
tried changing that to 32, but VS wouldn't let me. I then changed
it to 8. That made no difference. It still worked on my development
computer but failed on the other two.

Is there anything else I should try?
 
A

Armin Zingler

Can't make it work here, too. WinXP, desktop bit depth=32.
It works with the form's backcolor but not with a Backgroundimage.
 
G

Gregory A Greenman

Can't make it work here, too. WinXP, desktop bit depth=32.
It works with the form's backcolor but not with a Backgroundimage.


Okay, I've found the answer to this. This is a known bug with a
work around.

http://support.microsoft.com/kb/822495

According to MS's article, if the computer's color depth is set to
less than 32 bits it should work. I have now confirmed this on both
my laptop and my wife's computer. I don't know why it worked on my
development computer even with a 32 bit color depth.

The article also gives a way that should allow this to work without
changing a user's color depth. I haven't tried that yet.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top