roots
Apr 5th, 2000, 04:28 AM
Is it possible to extract the RGB values for the DYNAMIC color entries that windows assigns to its 3D objects?
My goal is to draw 3D objects (say a raised button for instance), but if I use "hard-coded" colors, such as the RGB values for Lt. Grey, Grey, and Dk. Grey, then when the user goes into the display properties and changes his color scheme to say TEAL, then my 3D objects will still remain in the gray tones, which would look corny on a teal background. I know VB uses color constants such as vb3DFace, vb3DShadow, vb3DHighlight, etc. that can be used with its STANDARD supplied controls, however if you try to use these values directly with the FillRect() function, the color is not recognized and is drawn pure black.
I also tried to enumerate the entries in the system palette using GetSystemPaletteEntries() to create an identity palette, but none of these entries are dynamic.
If anyone has any suggestions on what steps need to be taken, I would be very appreciative!
--Lewis
My goal is to draw 3D objects (say a raised button for instance), but if I use "hard-coded" colors, such as the RGB values for Lt. Grey, Grey, and Dk. Grey, then when the user goes into the display properties and changes his color scheme to say TEAL, then my 3D objects will still remain in the gray tones, which would look corny on a teal background. I know VB uses color constants such as vb3DFace, vb3DShadow, vb3DHighlight, etc. that can be used with its STANDARD supplied controls, however if you try to use these values directly with the FillRect() function, the color is not recognized and is drawn pure black.
I also tried to enumerate the entries in the system palette using GetSystemPaletteEntries() to create an identity palette, but none of these entries are dynamic.
If anyone has any suggestions on what steps need to be taken, I would be very appreciative!
--Lewis