Color Picker

Environment: Visual C++

A very COOL color pick dialog with a color dropper like Photoshop and Frontpage 2000

Introduction

File reference:

Prebuild version: ColorPicker16_exe.zip 120 KB (A dialog for choosing colors)

Class Ref: ColorPickerClass.chm 119KB (Build by UCanCode DocVizor)

Source Code:ColorPicker16_src.zip 65KB (Build with MS Visual C++ 6.0)

First three are in demo project file below. Source code available below too.

The key features are as follows:

  1. ColorPicker provides a default color panel, which includes over 144 frequent colors.
  2. ColorPicker provides a custom button for opening Windows Common Color Select Dialog. You can select more color here.
  3. ColorPicker provides the color contrast between current selection and new selection.
  4. ColorPicker provides a select button , when you hold the left button of mouse on select button, the cursor has become to a color dropper like Photoshop and Frontpage 2000. You can get any color on the screen via this dropper.
  5. ColorPicker shows both the RGB value and Hex Value of the current selection color./li>
  6. The color panel will load new palette as soon as the system color range has been changed.
  7. ColorDropper provides 6 color panels for choosing. You can change it during run time.
  8. The most important thing is that, we provide the full source code (100% MFC), !-.
  9. (New)Full keyboard support.

Screen Shot:

(Screen 1)

(Screen 2)

(Screen 3)

How to use it:

 The steps for usage are as follows:

1.Add code in those head files where you want to display Color Picker Dialog.

#include "FODropColorButton.h"

enum { IDD = IDD_DIALOG_COLORPICKER };
CFODropColorButton m_wndColor3;
CFODropColorButton m_wndColor2;
CFODropColorButton m_wndColor1;
CFOHyperLink m_newVersion;
//}}AFX_DATA

2.Add code in those files/events when you need to get color value.

CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNewPickerDlg)
DDX_Control(pDX, IDC_FO_TEST_BUTTON3, m_wndColor3);
DDX_Control(pDX, IDC_FO_TEST_BUTTON2, m_wndColor2);
DDX_Control(pDX, IDC_FO_TEST_BUTTON1, m_wndColor1);
//}}AFX_DATA_MAP
DDX_FODropColorButton(pDX,IDC_FO_TEST_BUTTON1,crColor1);
DDX_FODropColorButton(pDX,IDC_FO_TEST_BUTTON2,crColor2);
DDX_FODropColorButton(pDX,IDC_FO_TEST_BUTTON3,crColor3);

Everything is OK!

Technical Details

Color Picker Dialog is constructed with classes as follows;

1.CFOColorButton File Reference#:FOColorButton.h, FOColorButton.cpp

2.CFOColorCellObj File Reference#:FOColorCellObj.h, FOColorCellObj.cpp

3.CFOColorDialogObj File Reference#:FOColorDialog.h, FOColorDialog.cpp

4.CFOColorPaletteControl File Reference#:FOColorPaletteControl.h, FOColorPaletteControl.cpp

5.CFODropPaletteWndFile Reference#:FODropPaletteWnd.h, FODropPaletteWnd.cpp

6.CFODropColorButton File Reference#:FODropColorButton.h, FODropColorButton.cpp

7.CFODropColorPaletteControl File Reference#:FODropColorPaletteControl.h, FODropColorPaletteControl.cpp

8.CFODropColorPaletteWnd File Reference#:FODropColorPaletteWnd.h, FODropColorPaletteWnd.cpp

9.CFOPopupColorPaletteWndFile Reference#:FOPopupColorPaletteWnd.h, FOPopupColorPaletteWnd.cpp

All of the class inheritance diagrams are as follows:

CWnd

\s

CObject

\s

CStatic

CButton

\s

CDialog

Click here to view Our online profile and report bugs.

Update V1.6(New!)

  • Add full keyboard supprt,you can use left arrow,right arrow,up arrow,down arrow and tab key to select color.
  • Fixed a few bugs.

Update V1.5

  • Add color palette support for color dialog.
  • Add a cool drop color picker button.
  • Fixed a few bugs.

Update V1.2

  • Add a specify image static class.
  • Add support 3D color table.
  • Fixed a few bugs.

Downloads

Download demo project - 213 Kb
Download source - 64 Kb


Comments

  • color match design is easy now.

    Posted by Legacy on 01/15/2002 12:00am

    Originally posted by: Gennady

    Very nice work! Thanks for sharing code!

    Reply
  • Nice, but...

    Posted by Legacy on 01/08/2002 12:00am

    Originally posted by: Serguei Batchila

    Hello

    I's a very nice dialog, the only problem is that your 'Select...' button looks ugly.
    I guess you never tried to test it on another computer.
    Everything is wrong about this button:
    1. It has wrong size (I have 'Large Fonts')
    2. It has wrong color (I have 'brick' color scheme)
    3. It has wrong font (it doesn't use the system font)
    4. It's not pressable.

    I haven't read you explanation, maybe you have a good excuse for all these errors, I know only that these errors are fixable and without fixing them it's hard to say that this dialog can be a part of commercial product.

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

Top White Papers and Webcasts

  • Live Event Date: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • Hundreds of millions of users have adopted public cloud storage solutions to satisfy their Private Online File Sharing and Collaboration (OFS) needs. With new headlines on cloud privacy issues appearing almost daily, the need to explore private alternatives has never been stronger. Join ESG Senior Analyst Terri McClure and Connected Data in this on-demand webinar to take a look at the business drivers behind OFS adoption, how organizations can benefit from on-premise deployments, and emerging private OFS …

Most Popular Programming Stories

More for Developers

RSS Feeds