Флаг
DIF_MASKEDIT
позволяет для элемента диалога
DI_FIXEDIT указать маску ввода. Если этот флаг установлен, то поле
Mask
должно содержать
адрес текстовой строки со значением маски ввода.
На данный момент поддерживаются следующие символы маски:
'X' | позволяет вводить в данную позицию строки ввода любой символ; |
'#' | позволяет вводить в данную позицию строки ввода цифры, пробел и знак минуса; |
'9' | позволяет вводить в данную позицию строки ввода только цифры; |
'A' | позволяет вводить в данную позицию строки ввода только буквы. |
'H' | позволяет вводить в данную позицию строки ввода только шестнадцатиричные символы. |
Можно создавать разнообразнейшие маски ввода, например:
L"(###) #99-99-99"
.
В этой маске скобки и дефисы между девятками будут статическими (не удаляемыми) элементами строки, внутри скобок можно ввести либо
цифры либо пробелы (к примеру телефонный код города), в позициях, где стоят девятки в строке ввода, можно ввести только цифры.
Есть некоторый нюанс по использованию
DIF_MASKEDIT
.
Когда вы задаёте строку маски (к примеру, L"99.99.9999") учтите, что работа реализована таким образом, что длина строки ввода
принудительно устанавливается равной длине строки маски.