Ограничение введенный пользователем текст

По умолчанию ограничение на количество текста, который пользователь может вводить в элемент управления edit — 32 Кбайт. Приложение может изменить количество текста, которое пользователь может ввести путем отправки элемента управления EM_SETLIMITTEXT . Это сообщение устанавливает жесткий предел на число байтов пользователя можно ввести в элемент управления редактирования, но не затрагивает ни текст, который уже находится в элементе управления, когда сообщение было отправлено, ни текст скопирован элемент управления функции SetDlgItemText или WM_SETTEXT сообщение. Например Предположим, что приложение использует функцию SetDlgItemText для размещения 500 байт в элемент управления редактирования, и пользователь вводит 500 байтов (всего 1000 байт). Если приложение затем отправляет сообщение об EM_SETLIMITTEXT, ограничивая введенный пользователем текст до 300 байт, 1000 байт уже в поле редактирования остаются там, и пользователь не может добавить любой текст. С другой стороны если приложение отправляет сообщение об EM_SETLIMITTEXT, ограничивая введенный пользователем текст до 1300 байт, остаются 1000 байт, но пользователь может добавить больше 300 байт.

Когда пользователь достигает предела символов элемента управления редактирования, система отправляет приложение WM_COMMAND сообщение, содержащее сообщение уведомления EN_MAXTEXT . Это сообщение уведомления не означает, что память исчерпаны, но был достигнут предел для введенный пользователем текст; пользователь не может ввести любой текст. Чтобы изменить этот предел, приложение необходимо отправить элемент управления новое сообщение EM_SETLIMITTEXT с более высокий предел.

В качестве примера использования EM_SETLIMITTEXT и EN_MAXTEXT Предположим, что приложение должно ограничить пользователя не более четырех знаков в элемент управления редактирования. Приложение будет использовать EM_SETLIMITTEXT для указания предела четырех символов. Если пользователь пытался ввести пятый символ, система будет отправлять сообщение уведомления EN_MAXTEXT в приложение.

Index