Поделиться через


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

Элемент управления 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 влияют на любой редактируемый элемент управления.

Элементы управления, доступные для диалогового окна: метка, текстовое поле, текстовое поле с поддержкой рукописного ввода, список, раскрывающийся список, поле со списком, поле проверка, поле группы, кнопка, переключатель и страница с вкладками.

Общие сведения о отображаемых таблицах см. в разделе Таблицы отображения. Сведения о реализации отображаемой таблицы см. в разделе Реализация таблицы отображения.

См. также