Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Office Style Flat ComboBox

0.00/5 (No votes)
15 Dec 1999 1  
A drop-in replacement combobox that gives your apps the flat Office-style look

Sample Image - combobox_flatcombo.gif

Introduction

This control easily gives your application the Flat Look that is seen in the Microsoft Office products. To use the control, simply add the files, CCJFlatComboBox.cpp and CCJFlatComboBox.h to your project. You can use Class Wizard to add the CCJFlatComboBox member variables (you most likely will have to rebuild the .clw file associated with your project), or just replace any instance of CComboBox, with CCJFlatComboBox.

Example

Below is an example of how you might add the control to your project.

Header File

//{{AFX_DATA(CFlatComboDemoDlg)  
enum { IDD = IDD_FLATCOMBODEMO_DIALOG };  
CCJFlatComboBox m_DDCombo;  
//}}AFX_DATA  

Implementation File

//{{AFX_DATA_MAP(CFlatComboDemoDlg)  
DDX_Control(pDX, IDC_DROPDOWN_COMBO, m_DDCombo);  
//}}AFX_DATA_MAP  

Acknowledgements

  • Chris Maunder - for letting me use his color picker class, and for his auto-completion code. I made some modifications to the appearance of the control that is used in this demo. My modifications are noted.
  • Gilberto Botaro - for his help with adding auto completion to the CCJFlatComboBox class
  • Vachik Hovhannissian and Danilo Lax - For help with fixing focus and message handling bugs
  • Yosh Yamashita - for help with fixing accelerator bug
  • Shannon McCoy - for suggestions on using ::GetSysColor(...) and ::GetSystemMetrics(...) more efficiently
  • Todd Brannam - for help with fixing offset bug to use GetSystemMetrics()

History

  • 16th December, 1999: Initial version

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.

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