VC、MFC高手请进来:CEDIT 怎么设置滚动条往下滚?
我想做一个像QQ聊天界面一样的程序,但是接收框中的滚动条不知道有什么方法能使它置底。下面是我写的函数(如何改写??????):m_EditRXData.SetWindow...
我想做一个像QQ聊天界面一样的程序,但是接收框中的滚动条不知道有什么方法能使它置底。
下面是我写的函数(如何改写??????):
m_EditRXData.SetWindowText(m_strRXData);//编辑框显示接收到的内容,滚动条置上
m_EditRXData.LineScroll(m_EditRXData.GetLineCount());//滚动条置底
但是上面两句话就像是打架似的,在显示数据的时候总是上下一闪一闪的,虽然滚动条在显示结束的时候到了底部。
其它参考滚动条置底函数:
/*
CEdit* pEdit = (CEdit*)this->GetDlgItem(IDC_EDIT_RXDATA);
if (pEdit != NULL)
{
//
pEdit->LineScroll(pEdit->GetLineCount());
}
*/
//GetDlgItem(IDC_EDIT_RXDATA)->SendMessage(WM_VSCROLL, MAKEWPARAM(SB_BOTTOM,0),0);
//CEdit * output=(CEdit *)GetDlgItem(IDC_EDIT_RXDATA);
//随时跟踪滚动条的位置
// output->LineScroll(output->GetLineCount());
//m_EditRXData.LineScroll(m_EditRXData.GetLineCount()); 展开
下面是我写的函数(如何改写??????):
m_EditRXData.SetWindowText(m_strRXData);//编辑框显示接收到的内容,滚动条置上
m_EditRXData.LineScroll(m_EditRXData.GetLineCount());//滚动条置底
但是上面两句话就像是打架似的,在显示数据的时候总是上下一闪一闪的,虽然滚动条在显示结束的时候到了底部。
其它参考滚动条置底函数:
/*
CEdit* pEdit = (CEdit*)this->GetDlgItem(IDC_EDIT_RXDATA);
if (pEdit != NULL)
{
//
pEdit->LineScroll(pEdit->GetLineCount());
}
*/
//GetDlgItem(IDC_EDIT_RXDATA)->SendMessage(WM_VSCROLL, MAKEWPARAM(SB_BOTTOM,0),0);
//CEdit * output=(CEdit *)GetDlgItem(IDC_EDIT_RXDATA);
//随时跟踪滚动条的位置
// output->LineScroll(output->GetLineCount());
//m_EditRXData.LineScroll(m_EditRXData.GetLineCount()); 展开
1个回答
推荐于2018-04-21
展开全部
int SetScrollPos( int nPos, BOOL bRedraw = TRUE );
该函数将滚动框移动到指定位置.参数nPos指定了新的位置.参数bRedraw表示是否需要重绘滚动条,如果为TRUE,则重绘之.函数返回滚动框原来的位置.若操作失败则返回0.
void GetScrollRange( LPINT lpMinPos, LPINT lpMaxPos ) const
该函数将滚动框移动到指定位置.参数nPos指定了新的位置.参数bRedraw表示是否需要重绘滚动条,如果为TRUE,则重绘之.函数返回滚动框原来的位置.若操作失败则返回0.
void GetScrollRange( LPINT lpMinPos, LPINT lpMaxPos ) const
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询