DTCTL
适用于:Outlook 2013 | Outlook 2016
描述将在从显示表生成的对话框中使用的控件。
属性 | 值 |
---|---|
标头文件: |
Mapidefs.h |
typedef struct
{
ULONG ulCtlType;
ULONG ulCtlFlags;
LPBYTE lpbNotif;
ULONG cbNotif;
LPSTR lpszFilter;
ULONG ulItemID;
union
{
LPVOID lpv;
LPDTBLLABEL lplabel;
LPDTBLEDIT lpedit;
LPDTBLLBX lplbx;
LPDTBLCOMBOBOX lpcombobox;
LPDTBLDDLBX lpddlbx;
LPDTBLCHECKBOX lpcheckbox;
LPDTBLGROUPBOX lpgroupbox;
LPDTBLBUTTON lpbutton;
LPDTBLRADIOBUTTON lpradiobutton;
LPDTBLMVLISTBOX lpmvlbx;
LPDTBLMVDDLBX lpmvddlbx;
LPDTBLPAGE lppage;
} ctl;
} DTCTL, FAR *LPDTCTL;
Members
ulCtlType
包含在 ctl 成员中的控件类型,对应于控件PR_CONTROL_TYPE (PidTagControlType) 属性。 可能的值如下所示:
DTCT_LABEL
标签控件。
DTCT_EDIT
编辑控件。
DTCT_LBX
列表框控件。
DTCT_COMBOBOX
组合框控件。
DTCT_DDLBX
下拉列表控件。
DTCT_CHECKBOX
复选框控件。
DTCT_GROUPBOX
组框控件。
DTCT_BUTTON
按钮控件。
DTCT_PAGE
选项卡式页面控件。
DTCT_RADIOBUTTON
单选按钮控件。
DTCT_MVLISTBOX
多值列表控件。
DTCT_MVDDLBX
多值下拉列表控件。
ulCtlFlags
描述控件功能并对应于控件 PR_CONTROL_FLAGS 的标志的位掩码 (PidTagControlFlags) 属性。 只能为检查框、组合框、列表框和编辑控件设置这些标志。 可能的值如下所示:
DT_ACCEPT_DBCS
接受 ANSI 或 DBCS 格式。 此标志仅对编辑控件有效。
DT_EDITABLE
用户可以修改 控件中的文本。
DT_MULTILINE
控件可以包含多个文本行。 此标志仅对编辑控件有效。
DT_PASSWORD_EDIT
控件包含密码;因此,不应向用户显示控件的内容。 此标志仅对编辑控件有效。
DT_REQUIRED
对话框控件是必需的。 此标志仅对编辑和组合框控件有效。
DT_SET_IMMEDIATE
在控件中发生更改时启用值的即时输出。 这允许在两个控件之间建立依赖关系。
lpbNotif
指向由 GUID 结构组成的结构的指针,表示服务提供程序和控件的标识符。 lpbNotif 和 cbNotif 成员对应于控件的 PR_CONTROL_ID (PidTagControlId) 属性,用于在必须更新控件时通知用户界面。
cbNotif
lpbNotif 成员指向的结构中的字节计数。
lpszFilter
指向字符串的指针,该字符串描述哪些字符可以在编辑或组合框控件中输入。 对于其他类型的控件, lpszFilter 成员可以为 NULL。 对于编辑和组合框控件,它应该是一次应用于单个字符的正则表达式。 相同的筛选器将应用于 控件中的所有字符。 筛选器字符串的格式如下所示:
字符 | 说明 |
---|---|
* |
允许 (任何字符, "*" 例如,) 。 |
[ ] |
定义一组字符 (, "[0123456789]" 例如 .) |
- |
指示 (字符的范围, "[a-z]" 例如) 。 |
~ |
指示不允许这些字符 (例如 "[~0-9]") 。 |
\ |
例如,用于引用上述任何符号 (表示 "[\-\\\[\]]" ) 允许-, , [和 ] 字符。 |
ulItemID
标识对话框资源中的控件的值。 对于类型DTCT_PAGE选项卡式页控件, 可以选择使用 ulItemID 成员从字符串资源加载页面的组件名称。 从对话框资源读取位置和标签信息。
Ctl
一个结构,用于保存控件的数据,并对应于控件的 PR_CONTROL_STRUCTURE (PidTagControlStructure) 属性。 每种类型的控件都有不同的结构。
备注
DTCTL 结构描述任何类型的一个控件。 它的大多数成员用于设置控件的属性。
ctl 成员是与特定类型的控件相关的结构的联合。 例如,如果 DTCTL 结构描述编辑控件, 则 ctl 成员将指向 DTBLEDIT 结构。 此结构对应于控件的 PR_CONTROL_STRUCTURE 属性。 联合具有 LPVOID 类型的变量作为其第一个成员,以允许 DTCTL 结构的编译时初始化。
尽管 BuildDisplayTable 函数使用 DTCTL 结构从控件资源生成显示表, 但 DTCTL 结构永远不会出现在显示表本身中。 此结构仅向 BuildDisplayTable 提供信息。
在 ulCtlFlags 成员中 ,DT_ACCEPT_DBCS四个标志DT_EDITABLE DT_MULTILINE_and DT_PASSWORD_EDIT仅影响编辑控件。 另外两个DT_REQUIRED和DT_SET_IMMEDIATE影响任何可编辑控件。
可用于对话框的控件包括标签、文本框、墨迹感知文本框、列表、下拉列表、组合框、检查框、组框、按钮、单选按钮和选项卡式页面。
有关显示表的概述,请参阅 显示表。 有关如何实现显示表的信息,请参阅 实现显示表。