Customizing the Color Dialog Box
To customize a Color dialog box, you can use any of the following methods:
- Specify values in the CHOOSECOLOR structure when you create the dialog box.
- Provide a custom template.
- Provide a hook procedure.
You can modify the appearance and behavior of the Color dialog box by setting
flags in the
Flags member of the
CHOOSECOLOR structure. For example, you can set the CC_SOLIDCOLOR flag to direct the
dialog box to display only solid colors. To cause the dialog box to initially
select a color other than black, set the CC_RGBINIT flag and specify a color in the
rgbResult member.
You can provide a custom template for the Color dialog box, for example, if
you want to include additional controls that are unique to your application. The
ChooseColor function uses your custom template in place of the default template.
To provide a custom template for the Color dialog box
- Create the custom template by modifying the default template specified in the
COLOR.DLG file. The control identifiers used in the default Color dialog
template are defined in the COLORDLG.H file.
- Use the CHOOSECOLOR structure to enable the template as follows:
- If your custom template is a resource in an application or dynamic-link
library, set the CC_ENABLETEMPLATE flag in the Flags member. Use the hInstance and lpTemplateName members of the structure to identify the module and resource name.
-Or-
- If your custom template is already in memory, set the CC_ENABLETEMPLATEHANDLE
flag. Use the hInstance member to identify the memory object that contains the template.
You can provide a
CCHookProc hook procedure for the Color dialog box. The hook procedure can process
messages sent to the dialog box. It can also use registered messages to control the
behavior of the dialog box. If you use a custom template to define additional
controls, you must provide a hook procedure to process input for your controls.
To enable a hook procedure for the Color dialog box
- Set the CC_ENABLEHOOK flag in the Flags member of the CHOOSECOLOR structure.
- Specify the address of the hook procedure in the lpfnHook member.
After processing its
WM_INITDIALOG message, the dialog box procedure sends a WM_INITDIALOG message to the hook
procedure. The
lParam parameter of this message is a pointer to the
CHOOSECOLOR structure used to initialize the dialog box.
The dialog box sends the
COLOROKSTRING registered message to the hook procedure when the user clicks the OK button.
The hook procedure can reject the selected color and force the dialog box to
remain open by returning zero when it receives this message. The hook procedure
can force the dialog box to select a particular color by sending the
SETRGBSTRING registered message to the dialog box. To use these registered messages, you
must pass the COLOROKSTRING and SETRGBSTRING constants to the
RegisterWindowMessage function to get a message identifier. You can then use the identifier to
detect and process messages sent from the dialog box, or to send messages to the
dialog box.
- 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