richEdit/Memo怎样实现不刷新添加数据?

suasun 2016-12-10 08:58:07
要编写一个读取串口的小程序,串口过来的大量数据不断的添加到richEdit或者memo里进行显示
为了保持原来数据的完整性,不能用lines.add函数,因为会添加回车符,所以一直用
richedit.text = richedit.texts+$str的方式,每增加一个str,richedit就会刷新一次,屏幕就闪一下,特别不爽
请教各位大神,怎样可以不刷新richedit/memo增加数据
...全文
362 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
suasun 2016-12-10
  • 打赏
  • 举报
回复
引用 1 楼 lyhoo163 的回复:
刷新是必要的,否则屏幕,显示不完整。而且这是自动刷新。 如果你要强制关闭刷新,试试关闭消息。 建议你使用后台字符,进行增加和处理。桌面上仅10秒或1分钟,刷新一次(加入后台字符)用于显示。
现在已经不得已,收到10包或达到100ms,哪个先到就刷新一次 另外,关闭刷新的消息,请赐教
lyhoo163 2016-12-10
  • 打赏
  • 举报
回复
刷新是必要的,否则屏幕,显示不完整。而且这是自动刷新。 如果你要强制关闭刷新,试试关闭消息。 建议你使用后台字符,进行增加和处理。桌面上仅10秒或1分钟,刷新一次(加入后台字符)用于显示。
santiaodahan 2016-12-10
  • 打赏
  • 举报
回复
用memo组件,双缓冲防闪烁。
     
     Memo1.DoubleBuffered:=True;
     Memo1.Lines.BeginUpdate;
     try
          Memo1.Text:=str;
     finally
          Memo1.Lines.EndUpdate;
     end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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