CUSTOMIZEPALETTEDLGPARAMS

typedef struct _CUSTOMIZEPALETTEDLGPARAMS
{
   L_UINT uStructSize;
   HPALETTE hpalUser;
   HPALETTE hpalGenerated;
   L_BOOL bApplyPaletteWhenExit;
   L_UINT32 uDlgFlags;
   LTCOMMDLGHELPCB pfnHelpCallback;
   L_VOID *pHelpCallBackUserData;
} CUSTOMIZEPALETTEDLGPARAMS,* LPCUSTOMIZEPALETTEDLGPARAMS;

The CUSTOMIZEPALETTEDLGPARAMS structure provides information used to initialize the dialog box created by the L_DlgCustomizePalette function. After the user closes the dialog box, this structure is updated with information about the user's selections.

Member

Description

uStructSize

Size of this structure, in bytes. Use the sizeof operator to calculate this value.

hpalUser

A handle to a palette that can be used to initialize the custom palette entry in the palette options list. You can pass NULL in this parameter to remove the custom palette entry from the palette options list.

hpalGenerated

Handle to a palette. If either DLG_CUSTOMIZEPALETTE_GENERATE_PALETTE or DLG_CUSTOMIZEPALETTE_SHOW_APPLYPALETTEWHENEXIT is set in the uDlgFlags member, this variable will receive a palette handle that contains the palette displayed in the right pane when the dialog is closed. Notice that it is your responsibility to free the palette handle using the windows DeleteObject function.

bApplyPaletteWhenExit

Flag that indicates whether the "Apply When Exit" check box is checked. If this member is set before calling L_DlgCustomizePalette, this value will be used to initialize the check box. Possible values are:

 

Value

Meaning

 

TRUE

The "Apply When Exit" box is checked.

 

FALSE

The "Apply When Exit" box is not checked.

 

uDlgFlags

User interface flags for this dialog, which determine the layout and action of the dialog. Possible values are:

 

Value

Meaning

 

DLG_CUSTOMIZEPALETTE_SHOW_CONTEXTHELP

[0x00000001] dialog should contain a context sensitive help icon.

 

DLG_CUSTOMIZEPALETTE_SHOW_SORT

[0x00000002] Dialog should contain the Sort button.

 

DLG_CUSTOMIZEPALETTE_SHOW_FINDCLOSEST

[0x00000004] Dialog should contain the Find Closest button.

 

DLG_CUSTOMIZEPALETTE_SHOW_ADDOPTION

[0x00000008] Dialog should contain the Add Options button.

 

DLG_CUSTOMIZEPALETTE_SHOW_REMOVEOPTION

[0x00000010] Dialog should contain the Remove Options button.

 

DLG_CUSTOMIZEPALETTE_SHOW_COLORMODEL

[0x00000020] Dialog should contain the Color Model button.

 

DLG_CUSTOMIZEPALETTE_SHOW_RGBLEFTPAN

[0x00000040] Dialog should contain the left pan RGB static control.

 

DLG_CUSTOMIZEPALETTE_SHOW_HTMLLEFTPAN

[0x00000080] Dialog should contain the left pan HTML static control.

 

DLG_CUSTOMIZEPALETTE_SHOW_INDEXLEFTPAN

[0x00000100] Dialog should contain the left pan Index static control.

 

DLG_CUSTOMIZEPALETTE_SHOW_RGBRIGHTPAN

[0x00000200] Dialog should contain the right pan RGB static control.

 

DLG_CUSTOMIZEPALETTE_SHOW_HTMLRIGHTPAN

[0x00000400] Dialog should contain the right pan HTML static control.

 

DLG_CUSTOMIZEPALETTE_SHOW_INDEXRIGHTPAN

[0x00000800] Dialog should contain the right pan Index static control.

 

DLG_CUSTOMIZEPALETTE_SHOW_NEW

[0x00001000] Dialog should contain the new button.

 

DLG_CUSTOMIZEPALETTE_SHOW_OPEN

[0x00002000] Dialog should contain the open button.

 

DLG_CUSTOMIZEPALETTE_SHOW_SAVE

[0x00004000] Dialog should contain the save button.

 

DLG_CUSTOMIZEPALETTE_SHOW_SAVEAS

[0x00008000] Dialog should contain the save as button.

 

DLG_CUSTOMIZEPALETTE_GENERATE_PALETTE

[0x00010000] Dialog should update the hpalGenerated member with the user created palette in the right pane.

 

DLG_CUSTOMIZEPALETTE_SHOW_APPLYPALETTEWHENEXIT

[0x00020000] Dialog should contain the "Apply When Exit" check box, and the dialog will update the hpalGenerated member with the user created palette in the right pane. Notice that you can’t combine this flag with flag DLG_CUSTOMIZEPALETTE_GENERATE_PALETTE.

pfnHelpCallback

Pointer to an optional help callback function. If you do not wish to provide help to this dialog, use NULL as the value of this parameter. To provide help to this dialog, use the function pointer as the value of this parameter. The callback function must adhere to the prototype described in LTCOMMDLGHELPCB.

pHelpCallBackUserData

Void pointer that you can use to pass one or more additional parameters that the callback function needs. To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pHelpCallBackUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. If the additional parameters are not needed, you can pass NULL in this parameter.