CRichEditCtrl 不会让编辑超过 160560 字节?

CRichEditCtrl won't let edits put it above 160560 bytes?

在大约 1600 行,每行大约 100 个字符,输入更多既不会显示在缓冲区中也不会调用

ON_CONTROL( EN_CHANGE, IDC_PATCH, OnUpdate    )

回调。

如果我粘贴到缓冲区中,则只会粘贴达到此限制的足够字符。例如,如果有 10 个字符的空间,而您粘贴一个 30 个字符的短语,则实际插入的字符只有 10 个。

无论添加的字符是否在末尾,这两种情况都会发生。

这恰好是 Windows 10 Pro 上的 64 位 Visual Studio C++ 2017 应用 运行。

创建后,prich->GetLimitText()给出了32767,这显然是原始版本可以容纳的最大文本量。但是,它让我投入了更多——接近 160k——并继续编辑直到 160k 的限制。

Internet 上的某些文章暗示它具有或曾经有一个内部硬编码 "maximum maximum" 0xffffff,但我发现我可以向其添加另一个 f 并且 GetLimitText() 报告了更高的值。不清楚那个更高的值是否有实际效果,或者我的设定值是否被返回但不一定得到关注或支持。

我的解决方案是调用 prich->LimitText( 0xfffffff ),这超出了我的用户的需要。