Ashish Namdev

• articles

### Tags

• dialog
• transparent
• windows

This is a simple trick to make a transparent dialog without making its child controls transparent. We can set the opacity and transparency color key of a layered window.

I used SetLayeredWindowAttributes with LWA_COLORKEY to replace a color with transparency, in order to achieve a transparent background. Set the background color of the dialog which is not used in the application. I selected a color (e.g., RGB(1,11,21)) that is not present anywhere except in the dialog background. Set that color transparent using SetLayeredWindowAttributes with the LWA_COLORKEY flag.
SetBackgroundColor(RGB(1,11,21));

Paste the above code in the OnInitDialog() function of your dialog class. Use Visual Studio 2010 and derive your dialog class from the CDialogEx class.