首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何操作CEdit的内容?

如何操作CEdit的内容?
EN

Stack Overflow用户
提问于 2011-05-14 12:58:14
回答 1查看 378关注 0票数 0

我有一个编辑控件的情况,我需要一些指导。文本编辑器在大多数情况下运行正常,但在其他情况下,根据键入前的最后几个字符和键入的字符,最后几个字符必须替换为不同的字符。

对我来说,显而易见的解决方案是有一个字符缓冲区,在内容更改之前使用GetWindowText(),将键入的字符添加到缓冲区中,如果需要,操作缓冲区,然后使用SetWimdowText()。

我知道编辑控件有它自己的缓冲区。那么,这是拥有我自己的缓冲区的正确方法吗,或者有没有方法可以与它共享缓冲区,等等?编辑器的字符值不能超过4MB。

我需要它在Windows7和XP上运行,而不是老版本。我用的是MFC。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2011-05-14 14:53:43

你不需要你自己的缓冲区,事实上,拥有一个缓冲区将是危险的,因为它可能会失去同步。

但是你不需要一次设置整个编辑文本。从documentation

此外,如果编辑控件是多行的,则通过调用CEdit成员函数GetLine、SetSel、GetSel和ReplaceSel来获取和设置控件的部分文本。

我想ReplaceSel就是你要找的东西。虽然本文讨论的是多行编辑控件,但SetSelReplaceSel等可以很好地使用单行编辑控件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5999904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档