Platform SDK: MAPI |
The DTBLDDLBX structure describes a drop-down list box control to be used in a dialog box built from a display table.
Header file: | MAPIDEFS.H |
typedef struct _DTBLDDLBX { ULONG ulFlags; ULONG ulPRDisplayProperty; ULONG ulPRSetProperty; ULONG ulPRTableName; } DTBLDDLBX, FAR *LPDTBLDDLBX;
A DTBLDDLBX structure describes a drop-down list box — a list box control that is displayed as a single item until the user elects to expand it. The following illustration provides an example of a drop-down list box.
The three properties identified by the property tags work together to display the information in the list box and set a related property. The ulPRTableName member is a table object that is accessed through a call to IMAPIProp::OpenProperty. The table has two columns: one column for the property identified by the ulPRDisplayProperty member and the other for the property identified by the ulPRSetProperty member.
The ulPRDisplayProperty property drives the list box display. When a user selects one of the values from the display, MAPI calls IMAPIProp::SetProps to set the corresponding property as identified by the ulPRSetProperty member, meaning the property in the same row as the selected display property. The ulPRSetProperty member cannot be set to PR_NULL.
An initial value is displayed in the list box if MAPI has retrieved the property represented by the ulPRSetProperty member through a call to IMAPIProp::GetProps and located a row in the table with the value for the ulPRSetProperty member. The initial displayed value is the contents of the ulPRDisplayProperty column from that row that matches the property in the ulPRDisplayProperty member of the structure. The value returned by GetProps for the property identified by the ulPRDisplayProperty member becomes the initial value that is shown when the list box is first displayed.
For an overview of display tables, see Display Tables. For information about implementing a display table, see Implementing a Display Table.