MFC Transparent CDialog Demo
Posted
by Nic Wilson
on December 9th, 2002
Environment: Visual C++ V6.0
This dialog is derived from CDialog. A bitmap is loaded from a file and a region created based on a transparent colour. The bitmap is then used to paint the dialog. This demo also demonstrates dragging the dialog by clicking anywhere on a visible portion of the dialog, timer events, and a button on the transparent dialog.
It is perfect to be used as a splash screen or similar application or as a skeleton application for non-rectangular windows that are shaped by a supplied bitmap.

Comments
Thanks!
Posted by stahl on 08/04/2008 04:00pmWorks great, exactly what i was looking for!
ReplyDo add the important code in the page rather than ziping .
Posted by jayender.vs on 11/24/2005 01:36amPlease add the important codes in the displayed page rather than putting it into zip file. Many have the restriction in downloading the zip file.
ReplyExtra code.
Posted by Legacy on 12/17/2002 12:00amOriginally posted by: John Wellbelove
I was playing around with the code and background bitmaps and came up with this small addition. It adds the region of the 'close' button to the window region, making it always visible regardless of the bitmap transparency. You can make some wild dialogs with this, such as a group of controls that float on the desktop without any apparent (connected) dialog background.
Add this after the bitmap region is created.
CWnd *pWnd = GetDlgItem(IDC_CLOSE);
ReplyCRect rect;
pWnd->GetWindowRect(&rect);
ScreenToClient(&rect);
crRgnTmp.CreateRectRgn(rect.left, rect.top, rect.right, rect.bottom);
crRgn.CombineRgn(&crRgn, &crRgnTmp, RGN_OR);
crRgnTmp.DeleteObject();
Not working with Windows 98
Posted by Legacy on 12/11/2002 12:00amOriginally posted by: Richard Adams
For some reason the dialog controls are all offset on Windows 98? Ideas?
ReplyDisappearing dialog
Posted by Legacy on 12/10/2002 12:00amOriginally posted by: John Wellbelove
I found that sometimes, if you drag and drop the dialog lots of times, it may suddenly close for no apparent reason!
System
ReplyXP SP1
VC++ 6.0 Standard.
Not working
Posted by Legacy on 12/09/2002 12:00amOriginally posted by: gerlinden
Your demo is not working. Where is the bitmap?
Reply.DoModal returns "Error Loading bitmap"