Click here to Skip to main content
15,885,914 members
Articles / Desktop Programming / MFC
Article

CMultiCombo - A checkbox-bitmapped combobox

Rate me:
Please Sign up or sign in to vote.
2.75/5 (5 votes)
27 Jan 20021 min read 112.3K   2.8K   40   7
Present a combo-box class that allows multiple checkbox bitmaps to be placed next to each item.

Sample Image - multicombo.jpg

Some time ago I was trying to figure out a solution for a graphics application. The application was based on layers that could be shown or hidden, and at the same time could be locked or unlocked. The solution I found is this combo box, where you can select an item (layer) or just change the properties of the other itens by clicking on the icons. Try it out! Click on the item or on the icons in the demo app and see what happens!

Almost everything in the code is self explanatory. Some of the code was based on the article "Checkbox ComboBox" avaible on this site (thanks for the guys who created it). In the sample project you'll find a class called CMultiCombo that is responsable for creating the combobox and drawing the graphics in the combo.

Notice that I've use two icons inside the combobox that represent two properties. This properties are saved on the ItemData property of the CComboBox. Since the properies are just bit values (ON/OFF) and the item data is a DWORD/16 bytes value this ComboBox could be expanded to use TONS of properties with just some modifications to the code.

To test the code, compile it and press the "Add Something to the Combo-box" button and then try to select some items and click on the icons while the list of the combobox is open!

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


Written By
Web Developer
Brazil Brazil
Mauricio Ritter lives in Brazil, in the city of Porto Alegre. He is working with software development for about 8 years, and most of his work was done at a bank, within a home and office banking system.
Mauricio also holds MCSD, MCSE, MCDBA, MCAD and MCT Microsoft certifications and work as a trainer/consultant in some MS CTEC in his city.
Mauricio also works in his own programming site, aimed to Brazilian Developers: http://www.dotnetmaniacs.com.br

In his spare time he studys korean language...

Comments and Discussions

 
GeneralMy vote of 1 Pin
xinkmt3-Aug-10 15:26
xinkmt3-Aug-10 15:26 
General;) Pin
inch4078-Dec-07 9:11
inch4078-Dec-07 9:11 
GeneralGetting Text and Button Status Pin
IntelMacDeveloper28-Mar-02 5:23
IntelMacDeveloper28-Mar-02 5:23 
GeneralNot using in a dialog Pin
24-Feb-02 20:11
suss24-Feb-02 20:11 
Generaldoes not build Pin
Julia Larson25-Jan-02 19:02
Julia Larson25-Jan-02 19:02 
GeneralRe: does not build Pin
Mauricio Ritter25-Jan-02 23:26
Mauricio Ritter25-Jan-02 23:26 
GeneralRe: does not build Pin
Mauricio Ritter28-Jan-02 9:19
Mauricio Ritter28-Jan-02 9:19 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.