Click here to Skip to main content
Click here to Skip to main content

Transparent controls with custom image backgrounds on PocketPC

By , 15 Aug 2003
 

Sample Image - transparent_controls.jpg

Introduction

I was writing a program on PPC 2002 and the program UI required a dialog with a bitmap image background. As I was designing the dialog in the eVC++ 3.0 dialog template editor, I added controls like static texts, group boxes and etc. I checked the transparent option in the property of each of the controls that I have added to the dialog. But on PPC 2002 the transparent option does not work like it does on PC Platform OSes. On CE, transparent windows behave as if they have WS_CLIPCHILDREN style set. You can see through the parent dialog window itself. Definately not the effect I was hoping for.

There is an article for making transparent static texts at http://www.pocketpcdn.com/ and http://www.pocketpcdn.com/articles/transparent_static.html.  It basically draws all of the static text in the WM_PAINT handler of the parent dialog procedure.  But if you have other controls such as group boxes, you will have to draw the group boxes yourself.

To solve this problem, I used the WM_CTLCOLORSTATIC message handler. I first created a pattern brush with the bitmap image to be used as the backround for the dialog window.  And in the WM_CTLCOLORSTATIC message handler in the dialog procedure, I returned the brush handle I created previously.  The downside to this method is that you'll have to create separate brushes for each of the controls that are to be transparent which means more memory usage.  But you get the desired effect.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Hyungchul Shin
Web Developer
Korea (Republic Of) Korea (Republic Of)
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 2memberdadahacker19 Jun '09 - 18:15 
GeneralException when there are many, many objectsmemberacp92329 Mar '06 - 4:17 
QuestionWhat if you have a dynamic bitmap background ?memberghostve28 Dec '04 - 3:29 
AnswerRe: What if you have a dynamic bitmap background ?sussAnonymous28 Dec '04 - 3:59 
GeneralThe WM_CTLCOLORSTATIC message handler and comboboxes.memberDe Nys, FX11 Apr '04 - 10:47 
GeneralApply this sample only on the second DlgBoxmemberGuilhemMtp31 Mar '04 - 5:25 
GeneralRe: Apply this sample only on the second DlgBoxsussAnonymous14 Apr '04 - 2:33 
GeneralRe: Apply this sample only on the second DlgBoxmemberwqter25 Jun '04 - 0:12 
GeneralYou can have only one brush...memberDic27 Oct '03 - 3:47 
GeneralRe: You can have only one brush...memberJohann Gerell30 Oct '03 - 23:19 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130516.1 | Last Updated 16 Aug 2003
Article Copyright 2003 by Hyungchul Shin
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid