Обмеження введеного тексту

За замовчуванням ліміт на кількість тексту, користувач може ввести в текстове поле є 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