The SHAPEDLGPARAMS structure provides information used to initialize the dialog box created by the L_DlgGetShape function. After the user closes the dialog box, this structure is updated with information about the user's selections.
typedef struct _SHAPEDLGPARAMS
{
L_UINT uStructSize;
pBITMAPHANDLE pBitmap;
pBITMAPHANDLE pBackgroundBitmap;
L_UINT uShape;
COLORREF crBack;
L_UINT uBackStyle;
COLORREF crFill;
L_UINT uFillStyle;
COLORREF crBorder;
L_UINT uBorderStyle;
L_UINT uBorderWidth;
COLORREF crInnerHilite;
COLORREF crInnerShadow;
L_UINT uInnerStyle;
L_UINT uInnerWidth;
COLORREF crOuterHilite;
COLORREF crOuterShadow;
L_UINT uOuterStyle;
L_UINT uOuterWidth;
L_INT nShadowX;
L_INT nShadowY;
COLORREF crShadow;
L_UINT32 uDlgFlags;
LTCOMMDLGHELPCB pfnHelpCallback;
L_VOID *pHelpCallBackUserData;
} SHAPEDLGPARAMS,* LPSHAPEDLGPARAMS;
Size of this structure, in bytes. Use the sizeof operator to calculate this value.
Pointer to the bitmap handle that references the 1-bit bitmap used for preview or processing.
Pointer to the bitmap to be used for the background of the shape. This bitmap will be updated if the user chooses a new image using the Browse Image button. If you pass NULL, the "Tiled Image" and "Translucent Tiled Image" options will not appear in the BackStyle combo-box. The caller is responsible for freeing this bitmap when it is no longer needed.
The shape to use.
The background color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
The background style.
The foreground color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
The foreground style.
Value | Meaning |
---|---|
EFX_FILLSTYLE_SOLID | Solid filling ◼ |
EFX_FILLSTYLE_TRANSPARENT | Transparent filling ◻ |
EFX_FILLSTYLE_HORIZONTAL | Horizontal lines ▤ |
EFX_FILLSTYLE_VERTICAL | Vertical lines ▥ |
EFX_FILLSTYLE_FDIAGONAL | Downward diagonal lines ▨ |
EFX_FILLSTYLE_BDIAGONAL | Upward diagonal lines ▧ |
EFX_FILLSTYLE_CROSS | Cross lines ▦ |
EFX_FILLSTYLE_DIAGCROSS | Diagonal cross lines ▩ |
The border color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
The border style.
Value | Meaning |
---|---|
EFX_BORDERSTYLE_TRANSPARENT | Transparent. |
EFX_BORDERSTYLE_SOLID | Solid line. |
EFX_BORDERSTYLE_DASH | Dash line (valid only for 1-pixel lines). |
EFX_BORDERSTYLE_DOT | Dot line (valid only for 1-pixel lines). |
EFX_BORDERSTYLE_DASHDOT | Dash dot line (valid only for 1-pixel lines). |
EFX_BORDERSTYLE_DASHDOTDOT | Dash dot dot line (valid only for 1-pixel lines). |
The border width.
The inner band hilite color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
The inner band shadow color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
Inner band style. The inner band is available only for squares and rectangles. Possible values are:
Value | Meaning |
---|---|
EFX_INNERSTYLE_NONE. | None |
EFX_INNERSTYLE_INSET | Inner band inset. |
EFX_INNERSTYLE_RAISED | Inner band raised. |
The inner band width.
The outer band hilite color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
The outer band shadow color.
Outer band style. Possible values are:
Value | Meaning |
---|---|
EFX_OUTERSTYLE_NONE | None. |
EFX_OUTERSTYLE_INSET | Outer band inset. |
EFX_OUTERSTYLE_RAISED | Outer band raised. |
The outer band width.
The horizontal position of the shadow.
The vertical position of the shadow.
The shadow color. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
User interface flags for this dialog, which determine the layout and action of the dialog. Possible values are:
Value | Meaning |
---|---|
DLG_SHAPE_SHOW_CONTEXTHELP | [0x00000001] dialog should contain a context sensitive help icon. |
DLG_SHAPE_AUTOPREVIEW | [0x00000002] auto preview when options change |
DLG_SHAPE_SHOW_PREVIEW | [0x00000004] show a preview of the image in the dialog. The pBitmap member of this structure should contain a valid bitmap. |
DLG_SHAPE_BACKSTYLE | [0x00000008] back style is an option |
DLG_SHAPE_FILLSTYLE | [0x00000010] fill style is an option |
DLG_SHAPE_FORE_BACK_COLOR | [0x00000020] fore and back colors are options |
DLG_SHAPE_BORDERSTYLE | [0x00000040] border style is an option |
DLG_SHAPE_BORDERWIDTH | [0x00000080] border width is an option |
DLG_SHAPE_BORDERCOLOR | [0x00000100] border color is an option |
DLG_SHAPE_INNERSTYLE | [0x00000200] inner band style is an option |
DLG_SHAPE_INNERWIDTH | [0x00000400] inner band width is an option |
DLG_SHAPE_INNER_HILITE_SHADOW | [0x00000800] inner band colors are options |
DLG_SHAPE_OUTERSTYLE | [0x00001000] outer band style is an option |
DLG_SHAPE_OUTERWIDTH | [0x00002000] outer band width is an option |
DLG_SHAPE_OUTER_HILITE_SHADOW | [0x00004000] outer band colors are options |
DLG_SHAPE_SHADOWCOLOR | [0x00008000] shadow color is an option |
DLG_SHAPE_SHADOW_X_Y | [0x00010000] shadow x and y are options |
DLG_SHAPE_BROWSEIMAGE | [0x00020000] browse image button is an option |
DLG_SHAPE_NO_TREEVIEW | [0x00040000] DO NOT use the TreeView |
DLG_SHAPE_CLASS_SQUARE | [0x00080000] squares are options |
DLG_SHAPE_CLASS_RECTANGLE | [0x00100000] rectangles are options |
DLG_SHAPE_CLASS_PARALLELOGRAM | [0x00200000] parallelograms are options |
DLG_SHAPE_CLASS_TRAPEZOID | [0x00400000] trapezoids are options |
DLG_SHAPE_CLASS_TRIANGLE | [0x00800000] triangles are options |
DLG_SHAPE_CLASS_OTHER | [0x01000000] other polygons are options |
DLG_SHAPE_CLASS_CIRCLE | [0x02000000] circles are options |
DLG_SHAPE_CLASS_ELLIPSE | [0x04000000] ellipses are options |
DLG_SHAPE_CLASS_STAR | [0x08000000] stars are options |
DLG_SHAPE_CLASS_CROSS | [0x10000000] crosses are options |
DLG_SHAPE_CLASS_ARROW | [0x20000000] arrows are options |
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.
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.