Office Style Flat ComboBox

.
For the latest updates and source code click here.

Office Style Flat ComboBox Demo

Environment: VC5, VC6, WIN9x, NT4

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. Below is and example
of how you might approach this.

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. 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().

Downloads

Download demo project – 46 Kb
Download source – 6 Kb

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read