求教一个编辑框显示数据的简单有关问题
求教一个编辑框显示数据的简单问题
输出大量数据时,如何解决编辑框滚动条的抖动问题
编辑框是用来显示从串口接收到的数据的。 串口接收到数据的时候先把数据放到一个缓冲区中,需要显示的时候再将缓冲区的内容读到编辑框中。
为了让编辑框显示的内容总是数据的结尾,我添加了以下代码:
CEdit* pEdit = (CEdit*)this->GetDlgItem(IDC_OUTWND);
if (pEdit != NULL)
{
pEdit->LineScroll(pEdit->GetLineCount());
}
让滚动条随着数据的输出自动下移。
问题: 如果数据太长的话,数据输出过程中滚动条会不断上下抖动,即使数据输出完成,滚动条还会继续抖动一段时间才停止,请问如何解决这个抖动问题,让数据输出过程中滚动条平滑下移。
------解决方案--------------------
pEdit->LineScroll(pEdit->GetLineCount(),1);
如果设置第二个参数呢?
------解决方案--------------------
如果数据过长 那就清掉
------解决方案--------------------
设置属性 自动滚动
------解决方案--------------------
------解决方案--------------------
你的数据是不是不停输出,还是一次性读完再输出的
输出大量数据时,如何解决编辑框滚动条的抖动问题
编辑框是用来显示从串口接收到的数据的。 串口接收到数据的时候先把数据放到一个缓冲区中,需要显示的时候再将缓冲区的内容读到编辑框中。
为了让编辑框显示的内容总是数据的结尾,我添加了以下代码:
CEdit* pEdit = (CEdit*)this->GetDlgItem(IDC_OUTWND);
if (pEdit != NULL)
{
pEdit->LineScroll(pEdit->GetLineCount());
}
让滚动条随着数据的输出自动下移。
问题: 如果数据太长的话,数据输出过程中滚动条会不断上下抖动,即使数据输出完成,滚动条还会继续抖动一段时间才停止,请问如何解决这个抖动问题,让数据输出过程中滚动条平滑下移。
------解决方案--------------------
pEdit->LineScroll(pEdit->GetLineCount(),1);
如果设置第二个参数呢?
------解决方案--------------------
如果数据过长 那就清掉
------解决方案--------------------
设置属性 自动滚动
------解决方案--------------------
------解决方案--------------------
你的数据是不是不停输出,还是一次性读完再输出的