简单问题,只为送分阿,关于timer,string,和edit ctrl

azlza 2003-10-18 09:59:00
我在一个单文档结构的程序,它每隔一定时间会更新里面的内容。我用了个比较笨的办法,把editctrl里面的值全部赋一次,然后再选最后一行。但是跑的时间长了会死机。死的时候出错在gbltext.GetLength();里。这是什么问题阿?我没看出来。那个gbltext有600K-900K大

void CViewerView::OnTimer(UINT nIDEvent)
{
if (nIDEvent==WM_USER+234)
{
if (IsChangeText)
{
CEdit& editctrl=this->GetEditCtrl();
editctrl.SetWindowText(gbltext);
int length=gbltext.GetLength();
editctrl.SetSel(length,length);
IsChangeText=0;
}
}
}
...全文
77 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
triout 2003-10-18
  • 打赏
  • 举报
回复
CEdit控件有很多方法,你可以使用:
1——
通过APPENDTEXT给EDIT追加数据
2——
把EDIT滚动到最后一行
3——
选择最后一行
poweruser 2003-10-18
  • 打赏
  • 举报
回复
gbltext是什么类型的,CString吗
CString的是有长度限制的,但具体数字忘了,你试试吧
心平至和 2003-10-18
  • 打赏
  • 举报
回复
程序像是没有错误,可能错在gbltext上,值太大了。你应看看gbltext是超出了范围。
azlza 2003-10-18
  • 打赏
  • 举报
回复
主要是数据多了,我要把老的给删除,所以,我一次赋值,这样比较简单方便

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧