The DTBLBUTTON structure contains information about a button control for a dialog box built from a display table.
Header file: | MAPIDEFS.H |
Related macro: | SizedDtblButton |
typedef struct _DTBLBUTTON
{
ULONG ulbLpszLabel;
ULONG ulFlags;
ULONG ulPRControl;
} DTBLBUTTON, FAR *LPDTBLBUTTON;
A DTBLBUTTON structure describes a button — a control that, when clicked, allows a user to begin an operation. Typically, clicking a button causes a modal dialog box to be displayed or a programmatic task to be invoked. Service providers can implement anything through a button control. If the button is supposed to perform a task based on the values of other controls, those controls must have set the DT_SET_IMMEDIATE flag.
The ulbLpszLabel member is the position in memory of the character string that is displayed on the button. Service providers can add an ampersand character (&) to indicate a Windows accelerator in the button label. Pressing an accelerator key has the same effect as clicking the button.
The ulPRControl member describes an object property that, when opened with the IMAPIProp::OpenProperty method, returns a pointer to a control object. Implementing a control object — an object that supports the IMAPIControl interface — is a way to extend the MAPI feature set and define the operation or task that occurs when the button is clicked. IMAPIControl supplies two methods for manipulating buttons: GetState to disable or enable buttons and Activate to handle button clicks.
For an overview of display tables, see Display Tables. For information about implementing a display table, see Implementing a Display Table.
Display Table Structures, DTCTL, PR_CONTROL_TYPE