当前位置: 代码迷 >> 综合 >> CEdit 控件 更新内容的 方法(可以自动滚动至末尾)
  详细解决方案

CEdit 控件 更新内容的 方法(可以自动滚动至末尾)

热度:49   发布时间:2023-12-08 03:40:44.0

CEdit 控件更新内容大概有如下几种方法:

1、关联CString变量。先改变CString变量的值,然后调用UpDateData(FALSE)来更新控件。如果需要滚动至末尾一行,可以调用

[cpp] view plain copy
print ?
  1. EditOutCtrl.LineScroll(EditOutCtrl.GetLineCount());  
EditOutCtrl.LineScroll(EditOutCtrl.GetLineCount());

来完成。

优点:简单,适合显示少量数据;缺点:当要显示大量数据时,会导致闪烁,效率低下。

2、关联控制型变量。原理同上,只是改为调用“SetWindowText()”函数来更新,优缺点同上。

3、关联控制型变量。与2中不同的是,每次只是向末尾追加数据,感觉这样效率高些,而且可以自动滚动至末尾一行,这是我比较推荐的一种方法。

[cpp] view plain copy
print ?
  1. int i = EditOutCtrl.GetWindowTextLength();  
int i = EditOutCtrl.GetWindowTextLength();
[cpp] view plain copy
print ?
  1. EditOutCtrl.SetSel(i, i);   //选中文本末尾的位置  
  2. EditOutCtrl.ReplaceSel((LPCSTR)RxBuf);              //添加新的字符串  
EditOutCtrl.SetSel(i, i);	//选中文本末尾的位置
EditOutCtrl.ReplaceSel((LPCSTR)RxBuf);				//添加新的字符串