Choosing a Color
This topic describes sample code that displays a Color dialog box so a user
can select a color. The sample code first initializes a
CHOOSECOLOR structure, and then calls the
ChooseColor function to display the dialog box. If the function returns TRUE, indicating
that the user selected a color, the sample code uses the selected color to
create a new solid brush.
This example uses the
CHOOSECOLOR structure to initialize the dialog box as follows:
- Initializes the lpCustColors member with a pointer to a static COLORREF array. The colors in the array are
initially black, but the static array preserves custom colors created by the
user for subsequent ChooseColor calls.
- Sets the CC_RGBINIT flag and initializes the rgbResult member to specify the color that is initially selected when the dialog box
opens. If not specified, the initial selection is black. The example uses the rgbCurrent static variable to preserve the selected value between calls to ChooseColor.
- Sets the CC_FULLOPEN flag so the custom colors extension of the dialog box is
always displayed.
CHOOSECOLOR cc; // common dialog box structure
static COLORREF acrCustClr[16]; // array of custom colors
HWND hwnd; // owner window
HBRUSH hbrush; // brush handle
static DWORD rgbCurrent; // initial color selection
// Initialize CHOOSECOLOR
ZeroMemory(&cc, sizeof(CHOOSECOLOR));
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.hwndOwner = hwnd;
cc.lpCustColors = (LPDWORD) acrCustClr;
cc.rgbResult = rgbCurrent;
cc.Flags = CC_FULLOPEN | CC_RGBINIT;
if (ChooseColor(&cc)==TRUE) {
hbrush = CreateSolidBrush(cc.rgbResult);
rgbCurrent = cc.rgbResult;
}
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database