我有一个静态多行wxTextCtrl。内容比窗口显示的行数多,因此滚动。当我的程序更新特定行的内容时,滚动会移动,以便更新可见。这对于可能一直在检查另一条线路的用户来说是令人不安的。
// k is line to update
// update is new line contents
myTxtCtrl->Replace(
myTxtCtrl->XYToPosition(0,k),
myTxtCtrl->XYToPosition(0,k+1),
update + L"\n");
// the control has now scrolled to ensure line k is visible
如何禁用此行为,或强制控件在更新到显示的先前可见部分后返回?
答案 0 :(得分:0)
也许无法做到?似乎很可能只会遇到相当大的麻烦。更改为使用wxListCtrl可能更容易,wxListCtrl的项目可以轻松更改而不会影响滚动位置。
这就是我所做的
myListCtrl->SetItem(k,0,update);