Skip to main content
Email Password   helpLost your password?
  • Download demo project (James Twine's version) - 26 Kb
  • Download source files (James Twine's version) - 8 Kb


  • Download demo project (Mark Jackson's version) - 18 Kb
  • Download source files (Mark Jackson's version) - 2 Kb
  • Sample Image - ColourPickerCB.gif

    Introduction

    James Twine originally based this code on earlier work by Baldvin Hansson. Mark Jackson (www.mjsoft.co.uk) has expanded this to add a "Custom..." option at the bottom of the list which displays the standard colour picker dialog, and has also added DDX data exchange. The code has also been improved and tidied up in many other ways.

    The CColorPickerCB class 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. Since the control uses strings for display, the colors can be sorted.

    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!

    The initialization routine populates the color picker with a color selection that is a subset of the X11 colorset, and are the colors that are recognized by IE.

    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.

    Credits

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

    Thanks also to Paul Wardle for providing DDX routines.

    Public Functions

    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
    
    
    // Initialize The Control With The Default Colorset
    
    void InitializeDefaultColors( void );          
    
    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
    
    
    You must Sign In to use this message board.
     
     
    Per page   
     FirstPrevNext
    GeneralInitializing dropbox Pin
    al2500
    16:01 22 Jul '07  
    QuestionAsserttion failed! Pin
    jrmd
    3:37 14 Jan '07  
    AnswerRe: Asserttion failed! Pin
    James R. Twine
    8:13 14 Jan '07  
    GeneralRe: Asserttion failed! Pin
    jrmd
    3:22 15 Jan '07  
    GeneralDoubt Pin
    sruti_p
    22:11 13 Jun '06  
    AnswerFirst Steps... (Was: Re: Doubt) Pin
    James R. Twine
    2:13 14 Jun '06  
    QuestionChanging the Font Pin
    pscholl
    23:17 10 May '06  
    AnswerRe: Changing the Font Pin
    James R. Twine
    2:15 14 Jun '06  
    AnswerRe: Changing the Font Pin
    pscholl
    6:02 27 Feb '07  
    GeneralDebug assertion failed Pin
    left1none
    0:22 7 Feb '06  
    AnswerRe: Debug assertion failed Pin
    James R. Twine
    2:16 14 Jun '06  
    GeneralRe: Debug assertion failed Pin
    shvalbo
    3:22 14 Dec '06  
    GeneralOwner draw combobox with CBS_DROPDOWN style Pin
    G.A.
    0:18 15 Dec '04  
    GeneralRe: Owner draw combobox with CBS_DROPDOWN style Pin
    James R. Twine
    2:18 14 Jun '06  
    AnswerRe: Owner draw combobox with CBS_DROPDOWN style Pin
    Member 4263302
    1:12 19 May '09  
    GeneralHow can I use a CComboBox as a Lenght specifier? Pin
    Timawa_69
    22:00 20 Apr '04  
    GeneralRe: How can I use a CComboBox as a Lenght specifier? Pin
    James R. Twine
    15:19 26 Apr '04  
    GeneralCan this combo box be made FLAT Pin
    mangeshb123
    19:48 16 Oct '03  
    GeneralRe: Can this combo box be made FLAT Pin
    James R. Twine
    4:30 17 Oct '03  
    GeneralHow to initialize with my own colors? I'd add few methods.. Pin
    andru123
    1:16 6 Nov '02  
    GeneralRe: How to initialize with my own colors? I'd add few methods.. Pin
    James R. Twine
    7:58 8 Aug '03  
    GeneralHow to Create a ComboBox in toolbar? Pin
    white jungle
    4:27 16 Nov '01  
    GeneralRe: How to Create a ComboBox in toolbar? Pin
    Carlos Antollini
    4:50 16 Nov '01  
    GeneralRe: How to Create a ComboBox in toolbar? Pin
    tvhead80
    18:32 21 Mar '03  
    GeneralRe: How to Create a ComboBox in toolbar? Pin
    left1none
    0:10 7 Feb '06  


    Last Updated 18 Oct 2000 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009