Как ограничить количество символов, введенных в текстовое поле в MFC?

У меня есть 2 вопроса... мой 1-й вопрос: как ограничить количество символов, набранных в текстовом поле в MFC... скажем, если я хочу, чтобы пользователь вводил только 4 символа... текстовое поле должно содержать только 4 символа. И мой второй вопрос: когда он превышает ограничение на количество символов, он должен перейти к следующему элементу управления текстовым полем/вкладкой. Я пытался использовать следующий код ... но, похоже, в моем случае это не работает ... Пожалуйста, помогите мне, если вы знаете какие-либо альтернативы. ..

CEdit::SetLimitText(4);


person kiddo    schedule 13.02.2010    source источник


Ответы (1)


обрабатывать сообщение EN_CHANGE (OnEnChange). В этом обработчике найдите количество символов в текстовом поле. Если их больше 4, удалите последние. Если их четыре, используйте NextDlgCtrl(), чтобы перейти к следующему элементу управления, или используйте SetFocus(), чтобы установить фокус на определенный элемент управления.

person Stefan    schedule 13.02.2010
comment
tnax за быстрый ответ, Стефан... это хорошая идея... на самом деле я пробовал это, но это почему-то не сработало... но позвольте мне еще раз проверить это еще раз, и я также просмотрел другую статью и подумал об использовании ON_EN_MAXTTEXT.. постараюсь сделать это очень быстро и сообщу тебе, друг .. - person kiddo; 13.02.2010
comment
О! Стеван.. Я попробовал это, теперь это работает, gr8.. это просто, но иногда мы склонны все усложнять.. но в любом случае.. Я очень ценю вашу помощь. - person kiddo; 13.02.2010