Как ограничить кол-во вводимых символов в Edit? - Assembler

Узнай цену своей работы

Формулировка задачи:

Нужно сделать так что бы в текстбокс вводилось максимум 50 символов. Была идея при редактировании текста брать первые 50 символов из него и вставлять обратно, но так сбивается каретка ввода да и работает это не так как надо:
invoke GetDlgItemText, [hwnd],105,buff,50
invoke SetDlgItemText,[hwnd],105,buff
Как ещё можно такое реализовать?

Решение задачи: «Как ограничить кол-во вводимых символов в Edit?»

textual
Листинг программы
invoke GetDlgItem,[hwnd],105
invoke SendMessage,eax,EM_SETLIMITTEXT,50,0

Объяснение кода листинга программы

  1. Сначала вызывается функция GetDlgItem с аргументами [hwnd] и 105. Это приводит к тому, что в стеке появляется дескриптор элемента управления, связанного с указанным идентификатором.
  2. Затем вызывается функция SendMessage с аргументами eax (который является результатом предыдущей функции), EM_SETLIMITTEXT, 50 и 0. Это устанавливает максимальное количество символов, которые можно ввести в элемент управления, на 50.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы