Можно ли переключаться между только числовым и буквенно-цифровым режимами ввода для элемента управления CEdit?
У меня есть несколько переключателей, которые определяют тип ввода для CEdit
контроль. По своему дизайну мой элемент управления CEdit принимает цифры и символы.
Есть ли способ ограничить этот ввод только цифрами, только когда пользователь нажимает на предоставленную кнопку-переключатель? Кроме того, когда пользователь нажимает на другую опцию (то есть буквенно-цифровой режим), можно ли вернуться обратно?
Я настроил свой CEdit
элемент управления для приема буквенно-цифровых символов с помощью графического интерфейса Visual C++ (т. е. щелкните правой кнопкой мыши элемент управления -> Свойства -> вкладка "Стили" -> выберите "Число").
Пример использования:
- Пользователь запускает приложение.
- Пользователь нажимает на какую-то кнопку, и этот диалог с
CEdit
контроль в рассмотрении показывает. - Пользователю предоставляются переключатели, в которых буквенно-цифровая кнопка выбрана по умолчанию (поскольку это режим по умолчанию, установленный во время разработки).
- Пользователь нажимает на цифру.
На данный момент я хочу ограничить ввод CEdit
контролировать только номера. Точно так же, после этого, если пользователь снова нажимает буквенно-цифровую радиокнопку, я хочу снять это ограничение.
1 ответ
Да использовать CEdit::ModifyStyle()
установить или очистить стиль ES_NUMBER.
Итак, чтобы он принимал только цифры:
CEdit *pEdit = // get your control here ...
pEdit->ModifyStyle(0, ES_NUMBER);
И вернуться к принятию всех символов:
pEdit->ModifyStyle(ES_NUMBER, 0);