DTBLCOMBOBOX
适用于:Outlook 2013 | Outlook 2016
描述将在从显示表生成的对话框中使用的组合框控件。
属性 | 值 |
---|---|
标头文件: | Mapidefs.h |
相关宏: SizedDtblComboBox |
typedef struct _DTBLCOMBOBOX
{
ULONG ulbLpszCharsAllowed;
ULONG ulFlags;
ULONG ulNumCharsAllowed;
ULONG ulPRPropertyName;
ULONG ulPRTableName;
} DTBLCOMBOBOX, FAR *LPDTBLCOMBOBOX;
Members
ulbLpszCharsAllowed
从 DTBLCOMBOBOX 结构的开头到描述限制的字符串筛选器(如果有)到可输入组合框编辑控件中的字符的偏移量。 筛选器不解释为正则表达式,并且对输入的每个字符应用相同的筛选器。 筛选器的格式如下所示:
字符 | 说明 |
---|---|
* |
允许 (任何字符, "*" 例如,) 。 |
[ ] |
定义一组字符 (, "[0123456789]" 例如,) 。 |
- |
指示 (字符的范围, "[a-z]" 例如) 。 |
~ |
指示不允许这些字符。 (例如,"[~0-9]" )。 |
\ |
例如,用于引用上述任何符号 (表示 "[\-\\\[\]]" ) 允许-, , [和 ] 字符。 |
ulFlags
用于指定字符串筛选器格式的标志的位掩码。 可以设置以下标志:
MAPI_UNICODE
筛选器采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则筛选器采用 ANSI 格式。
ulNumCharsAllowed
可在组合框的文本框中输入的最大字符数。
ulPRPropertyName
PT_TSTRING 类型的属性的属性标记。
ulPRTableName
可以使用 OpenProperty 调用打开 IMAPITable 接口的 PT_OBJECT 类型的属性的属性标记。 表必须具有一个列,其属性的类型与 ulPRPropertyName 成员标识的属性的类型相同。 表的行用于填充列表。
备注
DTBLCOMBOBOX 结构描述由列表和选择字段组成的控件的组合框。 列表显示用户可以从中选择的信息,并且选择字段显示当前所选内容。 选择字段是一个编辑控件,也可用于输入列表中尚不存在的文本。
这两个属性标记成员协同工作,以协调列表显示与编辑控件。 当 MAPI 首次显示组合框时,它会调用与显示表关联的 IMAPIProp 实现的 OpenProperty 方法,以检索由 ulPRTableName 成员表示的表。 此表包含一列,列包含 ulPRPropertyName 成员表示的属性的值。 因此,此列必须与 ulPRPropertyName 属性的类型相同,并且两列必须是字符串。
列的值显示在组合框的列表部分中。 因此, PR_NULL (PidTagNull) 不是 ulPRPropertyName 的有效属性标记。 当用户选择行之一或在文本框中输入新数据时, ulPRPropertyName 属性将设置为所选或输入的值。
为了显示编辑控件的初始值,MAPI 调用 IMAPIProp::GetProps 来检索显示表的属性值。 如果检索到的属性之一与 ulPRPropertyName 成员表示的属性匹配,则其值将成为初始值。
有关显示表的概述,请参阅 显示表。 有关如何实现显示表的信息,请参阅 实现显示表。