如何用程序控制RichEdit控件的ScrollBar滚动到最底部
1个回答
展开全部
首先是在对EditBox控件建立变量时(Ctrl+左键双击会出现向导),用它的Control里面的CEdit类,category里面的value是绑定的文本框内容字符串,这里我们选定control,是绑定该控件的一个变量(区别于控件ID),命名为m_EditView,CEdit类型;再选定value,命名为editView,CString类型
然后IDC的属性style里面(直接右键建立的控件打开属性)只勾选“多行显示,Vertical Scroll和Auto VScroll”,是垂直滚动。
方法一:
然后在输出的时候,先把要输出的信息存在editView里面,用类里面的m_EditView.ReplaceSel(editView)函数进行输出显示。为了保证移动光标和选中的事件不影响输出内容,可以在每次输出后用GetSel()保存一个位置变量,然后在每次输出前用SetSel()对其定位。另外对显示内容的清空可以简单的用
m_EditView.SetWindowText("");
m_EditView.SetSel(0);
或者
editView.Empty();//或者editView=_T("");
UpdateData(0);//将串内容写回控件更新显示
来实现。
方法二:
在触发函数里,比如点击“显示edit控件中string内容”按钮的处理函数中添加以下任一句代码
m_ResultView.LineScroll (m_ResultView.GetLineCount(), 0);
// m_ResultView.SendMessage(WM_VSCROLL,SB_BOTTOM,0); //SB_BOTTOM 滚动条自动到底部,SB_TOP是顶部
然后IDC的属性style里面(直接右键建立的控件打开属性)只勾选“多行显示,Vertical Scroll和Auto VScroll”,是垂直滚动。
方法一:
然后在输出的时候,先把要输出的信息存在editView里面,用类里面的m_EditView.ReplaceSel(editView)函数进行输出显示。为了保证移动光标和选中的事件不影响输出内容,可以在每次输出后用GetSel()保存一个位置变量,然后在每次输出前用SetSel()对其定位。另外对显示内容的清空可以简单的用
m_EditView.SetWindowText("");
m_EditView.SetSel(0);
或者
editView.Empty();//或者editView=_T("");
UpdateData(0);//将串内容写回控件更新显示
来实现。
方法二:
在触发函数里,比如点击“显示edit控件中string内容”按钮的处理函数中添加以下任一句代码
m_ResultView.LineScroll (m_ResultView.GetLineCount(), 0);
// m_ResultView.SendMessage(WM_VSCROLL,SB_BOTTOM,0); //SB_BOTTOM 滚动条自动到底部,SB_TOP是顶部
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询