Combobox Color Picker 3

.
(Based On Earlier Code That Was By Baldvin Hansson.)

This class, CColorPickerCB, implements a Combobox that displays colors, as well as the name of the colors. Colors may be added or removed at runtime, and the control can be queried for the COLORREF value, or the name of the selected color. You can also set the selected color.

The control correctly handles selection, enabled and disabled drawing (see images below of the control is various states). Since the control uses strings for display, the colors can be sorted.

CColorPickerCB Sample Images

To use this control, create a Drop List Combobox with the "Owner Draw Fixed" and "Has Strings" styles. Attach a CColorPickerCB to the control, and off you go!

Note that the control will use 1/4 (one fourth) of its width for the color block, and the rest, minus a few pixels, for the color text. Be sure you make it wide enough.

If you want the source code to make sense, be sure you are set to a Tab size of 4, or the comments and code will not line up correctly.

Any questions or comments, please do not hesitate to EMail me.

 

Thanx to Marcel Galema for finding a bug with my inverted (selected) color usage, and suggesting a fix for it.

 

Here is a list of public functions in the CColorPickerCB class:

COLORREF GetSelectedColorValue(void)           // Get Selected Color Value
CString GetSelectedColorName(void);            // Get Selected Color Name
void SetSelectedColorValue(COLORREF crColor)   // Set Selected Color Value
void SetSelectedColorName(PCSTR cpColor);      // Set Selected Color Name
bool RemoveColor(PCSTR cpColor);               // Remove Color From List
bool RemoveColor(COLORREF crColor);            // Remove Color From List
int  AddColor(PCSTR cpName, COLORREF crColor); // Insert A New Color

The sample application can be obtained here, and the code for the CColorPickerCB class can be obtained here.

)1998 James R. Twine

Last Update: August 25, 1998



Comments

  • combo color in vb

    Posted by Legacy on 02/02/2004 12:00am

    Originally posted by: Ferdz

    could you share a sample written in vb.net? very urgent only. thanks! i'll appreciate whatever responce you may have.

    Reply
  • Color Picker Combo Box (3)

    Posted by Legacy on 11/20/1998 12:00am

    Originally posted by: Michael

    If you want use your source code in SDI or MDI you had to remove all
    
    references of BOOL m_bInitialized.

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Several technologies are driving big changes at federal agencies, but at the forefront is cloud computing. Cloud -- the use of remote, Internet-hosted servers for storing, managing and processing data in place of on-site technology -- is helping along technologies such as those related to collaboration and enabling new ones, such as the analysis of Big Data. Cloud is complicated but also growing in importance at federal agencies. Read this technology article to learn how governmental entities are creating a …

  • Live Event Date: April 30, 2015 @ 1:00 p.m. ET / 10:00 a.m. PT It's likely today that you'll need to recover a single database far more than you'll need to recover all of SQL Server – and yet, your backup and recovery strategy focuses on recovering the enterprise, and not daily recovery needs of that enterprise. Join Rick Vanover from Veeam, as we discuss the hype and reality of recovering your SQL databases at a granular level, tools vs. backups, where virtualization fits in, and how to successfully …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date