dcsimg
 

Power Color Picker

Monday Dec 6th 1999 by Patrick Prache

Power Color Picker

Features :

This new control derived from CWnd provides an interface for users to select colors for an object. It is more intuitive than CColorDialog in windows API.

Interface description :

  • right rectangle : luminance.
  • left rectangle : saturation on x axis, hue on y axis.
  • bottom rectangle : currently selected color.

This control is fully resizable on the fly. You could specify a size for each rectangle.
When you move the cursor with shift or ctrl, the color change only on one axis (hue or saturation)

 

How to use it in a dialog :

  • a member variable must be added to the dialog :
    ...

    protected:
    PowerColorPicker picker;
    ...

  • create the picker in the method OnInitDialog() of your dialog :
...

//specify the control size
RECT rect={10,10,390,300}; 
//create control in OnInitDialog()
 picker.Create(NULL,"Haha",WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS ,rect,this, NULL, NULL);

... 
  • define a callback when the user click/move on picker :
    
    
    //define a callback 
    void testfunc(COLORREF ref,void *ClientData)
    {
    	CColorPickerDlg * local= (CColorPickerDlg*)ClientData;
    	
    	char str[256];
    	sprintf(str,"RED: %ld\nGREEN: %ld\nBLUE: %ld",GetRValue(ref),GetGValue(ref),GetBValue(ref));
    
    	OutputDebugString(str);
    
    }
    
    
    ...
    
    //register callbacks in OnInitDialog()
     
    picker.RegisterCallbackOnMove(testfunc,this); 
    picker.RegisterCallbackOnLButtonDown(testfunc,this);
    ...
  • you could define the width of the luminance bar anywhere in your source :
    ...
    
    
    picker.SetLuminanceBarWidth(20); 
    
    ...

Downloads

Download Source Code - 31 Kb
Download Demo Application - 9 Kb
Home
Mobile Site | Full Site
Copyright 2018 © QuinStreet Inc. All Rights Reserved