for an excellent overview of color theory (with only a couple of small copy and paste mistakes in the math ;-)
While shocklet is correct that white is (255,255,255) under RGB, under HSI white is (0,0,255) as represented by Rajiv's program. Under HSI, the first 0 means "0 degrees", where the entire range of Hues is divided into 360 degrees. The second 0, Saturation, indicates that there is no saturation (color) at all in white light. And actually, for pure white, which is just gray scale at full intensity, Hue is undefined.
Your display looks nice. You should create a CMYK version -- piece of cake to create one base on your RGB picker. Also, maybe more useful since it will provide additional functionality over Windows pickers instead of just looking nicer. Let me know if you put one together.
This is absolutely wonderful! Thanks for all of the hard work!!!! I did find one small memory leak when loading the bitmaps using the CCHSB.BMP and CCRGB.BMP files. I fixed it by adding one line of code to "dib.cpp":
BOOL CDIB::Create(BITMAPINFOHEADER& bmInfo)
DestroyDIB(); // TO CORRECT MEMORY LEAK