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


Элемент управления MaskedEdit

Элемент управления MaskedEdit — это элемент управления поля редактирования, содержащий маску в текстовом поле элемента управления. Элемент управления можно связать со свойством строкового значения, введя имя свойства в столбец свойств таблицы control.

Элемент управления MaskedEdit можно использовать для создания шаблона для ввода сведений пользователя, таких как номер телефона или код идентификатора продукта. Например, свойство PIDKEY может быть введено пользователем с помощью элемента управления MaskedEdit, указанного путем задания свойства PIDTemplate строкой, как показано ниже:

12345<### -%%%%%>@@@@@

Строка определяет шаблон маскирования для записи свойства PIDKEY пользователем. Видимый сегмент строки заключен в пару символов скобки (<>).

В следующей таблице определен синтаксис маски.

Символ Значение
< Левый конец видимого сегмента шаблона. Этот символ и все слева скрыты в пользовательском интерфейсе. В шаблоне не должно быть более одного экземпляра этого символа.
> Правый конец видимого сегмента шаблона. Этот символ и все его право скрыты в пользовательском интерфейсе. Этот символ заменяется дефисом во время проверки. Если начинается <видимый сегмент, его необходимо завершить соответствующим >образом.
# Этот символ может быть цифрой (числовой.)
% Этот символ может быть альтернативной цифрой (числовой), которая позволяет маске управлять способом настраиваемых действий различать поля.
@ Этот символ может быть случайной цифрой (числовой.) Этот символ не должен отображаться в видимой части шаблона.
& Этот символ может быть любым символом.
^ Этот символ может быть альтернативным символом, который позволяет маске управлять способом настраиваемых действий различать поля.
? Этот символ может быть альтернативным символом, который позволяет маске управлять способом настраиваемых действий различать поля.
` Серьезные знаки акцента ' (значение ASCII 96) может представлять альтернативный символ, позволяющий маске управлять способом настраиваемых действий различать поля.
_ Этот символ является символом символа подчеркивания.
= Этот символ является терминатором поля. Это должно соответствовать #, %, ^или '. Это создает еще одну входную позицию того же типа, что и предыдущие позиции, и завершает поле с разделителем "-".

 

Любой другой символ рассматривается как литеральная константа.

Для символов, которые можно изменить, элемент управления создает отдельные окна редактирования с одним окном для каждого блока смежных символов одного типа.

Атрибуты элемента управления

Чтобы изменить значение атрибута, используюющего событие, подпишите элемент управления на событие Control в таблице EventMapping и перечислите идентификатор атрибута в столбце "Атрибут". Введите идентификатор события Control в столбце событий. С элементом управления MaskedEdit можно использовать следующие атрибуты.

Атрибут Шестнадцатеричный бит Description
НепрямаяpropertyName Это имя косвенного свойства, связанного с элементом управления. Если задан бит косвенного атрибута, элемент управления отображает или изменяет значение свойства, имеющего это имя. Если задан бит косвенного атрибута, это имя также является значением свойства, указанного в столбце свойств таблицы управления.
Занимаемая должность Положение элемента управления в диалоговом окне. Введите ширину, высоту и координаты левого угла элемента управления в столбцы Width, Height, X и Y таблицы управления. Используйте единицы установщика для длины и расстояния.
PropertyName Это имя свойства, связанного с этим элементом управления. Если бит косвенного атрибута не задан, элемент управления отображает или изменяет значение свойства, имеющего это имя. Этот атрибут указан в столбце "Свойство" таблицы управления.
PropertyValue Текущее значение свойства, отображаемого или измененного этим элементом управления. Если бит косвенного атрибута не задан, это значение PropertyName. Если задан бит косвенного атрибута, это значение IndirectPropertyName. Если атрибут изменяется, элемент управления отражает новое значение.
Text Чтобы задать стиль шрифта и шрифта текстовой строки, префиксировать строку отображаемых символов с помощью {\style} или {&style}. Где стиль — это идентификатор, указанный в столбце "Стиль" таблицы TextStyle. Если ни из них нет, но свойство DefaultUIFont определено как допустимый текстовый стиль, используется этот шрифт. Строка, указывающая шаблон маскирования, следует этому префиксу и использует синтаксис, описанный ранее в этом разделе.
Visible 0x00000000 0x00000001
Скрытый элемент управления. Видимый элемент управления.
Включите этот бит в битовое слово столбца "Атрибуты" в таблице управления, чтобы сделать элемент управления видимым или скрытым при его создании.
Вы также можете скрыть или показать элемент управления с помощью таблицы ControlCondition.
Включено 0x00000000 0x00000002
Управление в отключенном состоянии. Управление включенным состоянием.
Включите этот бит в битовое слово в столбец "Атрибуты" таблицы управления, чтобы включить элемент управления при создании.
Вы также можете включить или отключить элемент управления с помощью таблицы ControlCondition.
Затонувший 0x00000000 0x00000004
Отображает визуальный стиль по умолчанию. Отображает элемент управления с 3-D взглядом.
Включите эти биты в битовое слово в столбец "Атрибуты" таблицы управления.
Косвенные 0x00000000 0x00000008
Элемент управления отображает или изменяет значение свойства в столбце свойств таблицы управления. Элемент управления отображает или изменяет значение свойства, которое содержит идентификатор, указанный в столбце свойств таблицы управления.
Определяет, ссылается ли свойство, связанное с этим элементом управления, косвенно.

 

Замечания

Элемент управления MaskedEdit создает одно родительское окно класса BUTTON с стилями BS_OWNERDRAW и WS_EX_CONTROLPARENT . Он создает несколько дочерних окон в этом окне.

  • Для константных текстовых частей создается статические окна со стилями SS_LEFT и WS_CHILD .
  • Для редактируемых полей создается окно EDIT с стилями WS_CHILD, WS_BORDER и WS_TABSTOP .
  • Для числовых полей окно также имеет стиль ES_NUМБ ER.

Альтернативные цифры, %, и альтернативные буквенно-цифровые символы, ^, ?и ', позволяют пользовательским действиям различать поля таким образом, чтобы управлять маской, например^ можно использовать для полей, которые должны быть прописными.