2012-07-13 13 views
0

我有一个静态多行wxTextCtrl。内容比窗口可显示更多的行,所以它滚动。当我的程序更新特定行的内容时,滚动会移动,以便更新可见。这对于可能检查另一条线路的用户来说是令人不安的。更新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

也许它不能做到?似乎它只能在相当麻烦的情况下完成。使用wxListCtrl可能更容易,它可以在不干扰滚动位置的情况下轻松更改项目。

这就是我所做的

  myListCtrl->SetItem(k,0,update);