我有一个包含一些文本的CEdit-Box,每隔约0.25秒由一个线程刷新。问题是每次刷新文本时,都会删除可能的文本选择。
到目前为止,我找到了两种方法来避免这种情况:
我现在的实施(1):
使用相当一段逻辑来确保文本实际上真的在改变,而不仅仅是用完全相同的字符串刷新自己。这有点避免了这个问题,但说实话却感觉非常笨拙。
另一个想法(2):
每个周期,在刷新文本之前,我们需要获取当前的选择,存储它,并在我们的文本刷新后尝试重新构建它。但是,如果新文本根本不包含我们的旧字符串,我也不知道会怎样。我想这个功能是在WTL中实现的,但我不认为这是一个非常好的方法。
还有其他方法吗?像控件设置这样的东西会做这样的事情吗?