CRichEditCtrl не позволит изменениям поставить его выше 160560 байт?

Около 1600 строк, около 100 символов в строке, при наборе больше ни в буфере не появляется, ни вызывает

ON_CONTROL( EN_CHANGE, IDC_PATCH, OnUpdate    )

Перезвоните.

Если я вставлю в буфер, будет вставлено только достаточно символов, чтобы достичь этого предела. Например, если есть место для 10 символов, и вы вставляете фразу из 30 символов, фактически вставляются только 10 символов.

Оба случая происходят независимо от того, находятся ли добавленные символы в конце или нет.

Это 64-разрядное приложение Visual Studio C ++ 2017, работающее в Windows 10 Pro.

2

Решение

После создания prich->GetLimitText() дает 32767, что, по-видимому, было максимальным объемом текста, который могла содержать оригинальная версия. Тем не менее, это позволило мне добавить гораздо больше — около 160 тыс. — и продолжить редактирование до этого 160 тыс. Предела.

Некоторые статьи в Интернете подразумевают, что он имеет или имеет внутренний жестко закодированный «максимальный максимум» 0xffffff, но я считаю, что могу добавить еще один f к этому и GetLimitText() сообщает более высокое значение. Не ясно, имеет ли это более высокое значение фактическую эффективность или же возвращается мое заданное значение, но не обязательно учитывается или поддерживается.

Мое решение — позвонить prich->LimitText( 0xfffffff ), что больше, чем когда-либо понадобится моим пользователям.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]