Около 1600 строк, около 100 символов в строке, при наборе больше ни в буфере не появляется, ни вызывает
ON_CONTROL( EN_CHANGE, IDC_PATCH, OnUpdate )
Перезвоните.
Если я вставлю в буфер, будет вставлено только достаточно символов, чтобы достичь этого предела. Например, если есть место для 10 символов, и вы вставляете фразу из 30 символов, фактически вставляются только 10 символов.
Оба случая происходят независимо от того, находятся ли добавленные символы в конце или нет.
Это 64-разрядное приложение Visual Studio C ++ 2017, работающее в Windows 10 Pro.
После создания prich->GetLimitText()
дает 32767, что, по-видимому, было максимальным объемом текста, который могла содержать оригинальная версия. Тем не менее, это позволило мне добавить гораздо больше — около 160 тыс. — и продолжить редактирование до этого 160 тыс. Предела.
Некоторые статьи в Интернете подразумевают, что он имеет или имеет внутренний жестко закодированный «максимальный максимум» 0xffffff, но я считаю, что могу добавить еще один f к этому и GetLimitText()
сообщает более высокое значение. Не ясно, имеет ли это более высокое значение фактическую эффективность или же возвращается мое заданное значение, но не обязательно учитывается или поддерживается.
Мое решение — позвонить prich->LimitText( 0xfffffff )
, что больше, чем когда-либо понадобится моим пользователям.
Других решений пока нет …