This code makes use of some code from Zafir Anjum, specifically the code to load a background image.
Ok. Every window has a Region. This is how Windows knows what area of the screen to draw on when something changes in your program. Normally a windows Region is square, but you can make one that is non-square (basically any shape you want) so that Windows will only draw the part of your window that is within the non-square Region. What I have done is scan through the window pixel by pixel looking for the color I want to make transparent. Everytime I find that color, I add it to a temporary Region. I collect all the transparent spaces, then invert it and assign it to the window. The CRgn class, as it turns out, it a very powerful little class.
This code starts up very slow, the process I use for finding the transparent region is inefficient to say the least. I will pick it up again later and work on it if no one else does in the mean time. this took a lot of my brain on a very hot day in August so I hope you credit me when and if you use this.