Color is something like a three-dimensional vector. Depending on the color model it consists of R, G, B components, or H, S, L, etc. The essence of mbColorLib is to provide input controls for changing the vector components. Since the screen is a 2D-object you always have to combine at least two of the components in order to be able to reach every color.
I think the basic idea of the original author for the R/G/BColorPicker was (and I did not change this when porting the components) to cooperate with the corresponding R/G/BAxisColorPicker. The R/G/BColorPickers are sliders, i.e. they modify only 1 component, the other 2 are held fixed, the R/G/BAxisColorPickers are 2D-"pads", i.e. they modify 2 components, the other one is held fixed. This way all three coordinates can be changed. From this point of view the RColorPicker should display along the slider all colors which can be reached when varying the R component alone. In the same way, the RAxisColorPicker displays all colors which can be reached in its planar section through the RGB space. To complete visual feedback to all accessibility color, the gradient in the RAxisColorPicker should be adapted whenever the R is changed by the RColorPicker. (Unfortunately there was a bug in the corresponding units which is fixed in the trunk version of the ColorLib now). To achieve this effect both controls must be hooked into the OnChange event of the its companion:
procedure TForm1.RAxisColorPicker1Change(Sender: TObject);
begin
RColorPicker1.SelectedColor := RAxisColorPicker1.SelectedColor;
end;
procedure TForm1.RColorPicker1Change(Sender: TObject);
begin
RAXisColorPicker1.SelectedColor := RColorPicker1.SelectedColor;
end;
Please have a look at the demo in folder
examples/axispickers.
In fact, there was a typo in the wiki, but opposite to your suggestion. Fixed.
Of course, this is not the only way to use the ColorPickers. The way you understand them is a simple slider for the R,G,B components, alone. Of course, then their visual appearance is misleading, just set R=255, G=0 and B=0 for the RColorPicker (and for the others accordingly), and don't establish a feedback from another color picker. Check out the demo in
examples/trackbars