VC(MFC) edit控件滚动条自动到达底部的几种实现


首先是在对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是顶部

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页