5,316,870 members and growing! (15,657 online)
Email Password   helpLost your password?
Desktop Development » Dialogs and Windows » General     Intermediate

MFC Transparent CDialog Demo

By Nic Wilson

A transparent dialog
VC6, VC7, C++Windows, Win2K, WinXP, MFC, VS6, Visual Studio, Dev

Posted: 3 Dec 2002
Updated: 3 Dec 2002
Views: 85,243
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
32 votes for this Article.
Popularity: 6.49 Rating: 4.31 out of 5
2 votes, 6.1%
1
1 vote, 3.0%
2
1 vote, 3.0%
3
5 votes, 15.2%
4
24 votes, 72.7%
5

Sample Image - transparentdialog.gif

Introduction

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.

The code

You should be able to use this demo as a skeleton application for your own project.

A standard CDialog MFC EXE application was created with the wizard and apart from the standard supplied code, the following functions were overridden.

void OnClose() Used to clean up some resources on exit.
void OnPaint() Used to paint the bimap into the region.
void OnSize(UINT nType, int cx, int cy) Used to create the region and position and resize the dialog.
void OnLButtonDown(UINT nFlags, CPoint point) To allow the dialog to be dragged by clicking anywhere.

A button was created to allow the user to close the dialog. A timer was created to demonstrate auto closing after a period of time.

The image is a normal bmp file that is loaded by the app and used to paint the dialog. TRANSPARENTCOLOR is defined in the dialog class header as bright purple (RGB(255, 0, 255), but this could be changed to any colour you like.

The dialog window is auto sized to the size of the loaded bitmap then a region created based on the transparent colour. The dialog is then positioned in the centre of the current screen. This was done as an example for those who want to use this application as a splash windows.

An example of using this class is as follows:

CTransparentDialogDlg dlg;
int nResponse = dlg.DoModal();

The button serves no real purpose and was made a close button simply to demonstrate using a button.

History

V1.0 initial release 27th November 2002

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Nic Wilson



Occupation: Web Developer
Location: Australia Australia

Other popular Dialogs and Windows articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 18 of 18 (Total in Forum: 18) (Refresh)FirstPrevNext
Subject  Author Date 
Generalit's great.memberMohamad Kaifi1:19 8 May '08  
GeneralGood, It's what I'm looking for ...membermin_2_max23:11 15 Aug '07  
GeneralRe: Good, It's what I'm looking for ...membermin_2_max23:14 15 Aug '07  
GeneralRe: Good, It's what I'm looking for ...membermin_2_max23:40 15 Aug '07  
GeneralGetting an Errormembersimhadri23:29 13 Mar '06  
GeneralRe: Getting an ErrormemberCode Incomplete...18:41 11 Apr '06  
Generalhi,greate, but can it is used with ws_child window?memberwwx18:03 13 Sep '05  
Generalcapture hiden windowmemberjags_vc20:36 16 Feb '05  
Generalproblem with the position of the windowsussMarco Randazzo4:31 14 Sep '04  
GeneralTry this...memberel_rata9:57 15 Jan '04  
GeneralWonderful !memberLeeZi15:35 1 Sep '03  
GeneralGreat!! But is it possible??memberAWebDude15:24 12 Mar '03  
GeneralImage.bmp is not provided with the zipmemberShanhaz0:51 12 Mar '03  
GeneralRe: Image.bmp is not provided with the zipmemberNic Wilson12:18 12 Mar '03  
GeneralNice!membermanos_crete6:55 28 Dec '02  
GeneralRe: Nice!memberThe Yariv23:03 22 Jan '07  
GeneralRe: Nice!membermanos_crete13:06 27 Jan '07  
GeneralThanks, but...memberzarzor18:31 4 Dec '02  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 3 Dec 2002
Editor: Chris Maunder
Copyright 2002 by Nic Wilson
Everything else Copyright © CodeProject, 1999-2008
Web19 | Advertise on the Code Project