Platform SDK: MAPI |
The DTBLCHECKBOX structure contains information about a check box to be used in a dialog box built from a display table.
Header file: | MAPIDEFS.H |
Related macro: | SizedDtblCheckBox |
typedef struct _DTBLCHECKBOX { ULONG ulbLpszLabel; ULONG ulFlags; ULONG ulPRPropertyName; } DTBLCHECKBOX, FAR *LPDTBLCHECKBOX;
A DTBLCHECKBOX structure describes a check box — a control that reflects one of two states: enabled (a checked box) or disabled (an empty box).
The ulPRPropertyName member describes a Boolean property whose value is manipulated by changing the state of the check box. When the check box is first displayed, MAPI calls the GetProps method of the IMAPIProp implementation that is associated with the display table to retrieve a set of default properties. If one of the properties maps to the property tag in the DTBLCHECKBOX structure, the value for that property is displayed as the check box's initial value.
Check box controls can be modifiable, allowing a user to change their states. Modifiable check boxes set the DT_EDITABLE flag in the ulCtlFlags member of their DTCTL structure and in their PR_CONTROL_FLAGS property. When a check box changes its state, MAPI calls IMAPIProp::SetProps to set the property identified in the property tag member of the DTBLCHECKBOX structure to the new state.
For example, an address book provider might include a modifiable check box control in its configuration dialog box to manipulate the setting of a recipient's PR_SEND_RICH_INFO property. When the user selects the check box, MAPI sets this property to TRUE. When the check box is unselected, the property is set to FALSE.
For an overview of display tables, see Display Tables. For information about implementing a display table, see Implementing a Display Table.