在基于MFC对话框的应用程序中,我有CRichEditCtrl。
我想限制用户输入的最大文本数为1000,所以我调用了CRichEditCtrl :: LimitText(1000)。
然后我用超过1000个字符调用CRichEditCtrl :: SetWindowText(),现在CRichEditCtrl发出超过1000个字符。
为什么SetWindowText不考虑LimitText值。
提前致谢。
答案 0 :(得分:3)
对SetWindowText
的调用会干扰它。它的预期行为。
更改文本限制仅限制用户可以输入的文本。的它 对编辑控件中已有的任何文本都没有影响,也没有影响 影响复制到编辑控件的文本的长度 CWnd中的SetWindowText成员函数。如果应用程序使用 SetWindowText函数将更多文本放入编辑控件中 在调用LimitText时指定,用户可以删除任何一个 编辑控件中的文本。但是,文本限制将阻止 用户用新文本替换现有文本,除非删除 当前选择会导致文本低于文本限制。