CRichEditCtrl LimitText

时间:2018-06-05 11:24:24

标签: mfc

在基于MFC对话框的应用程序中,我有CRichEditCtrl。

我想限制用户输入的最大文本数为1000,所以我调用了CRichEditCtrl :: LimitText(1000)。

然后我用超过1000个字符调用CRichEditCtrl :: SetWindowText(),现在CRichEditCtrl发出超过1000个字符。

为什么SetWindowText不考虑LimitText值。

提前致谢。

1 个答案:

答案 0 :(得分:3)

SetWindowText的调用会干扰它。它的预期行为。

来自documentation

  

更改文本限制仅限制用户可以输入的文本。的它   对编辑控件中已有的任何文本都没有影响,也没有影响   影响复制到编辑控件的文本的长度   CWnd中的SetWindowText成员函数。如果应用程序使用   SetWindowText函数将更多文本放入编辑控件中   在调用LimitText时指定,用户可以删除任何一个   编辑控件中的文本。但是,文本限制将阻止   用户用新文本替换现有文本,除非删除   当前选择会导致文本低于文本限制。