文字聊天程序中,在一个RichEditBox接到一个字符串后能自动把滚动条移到下面,可我下面的代码却不能使滚动条移到下面.为什么呢?望高手指教.
void CVideoNetDlg::Message(LPCTSTR lpszMessage, COLORREF clr)
{
CHARFORMAT cfm;
cfm.cbSize=sizeof(cfm);
cfm.crTextColor=clr;
cfm.dwMask=CFM_COLOR;
CString strTemp1 = lpszMessage; int len = m_richbox.GetTextLength();
if(len >15000)
{
m_richbox.SetSel(0,10000);
m_richbox.ReplaceSel(_T(""));
}
len = m_richbox.GetTextLength();
m_richbox.SetSel(len,len);
m_richbox.SetSelectionCharFormat(cfm);
m_richbox.ReplaceSel(strTemp1);
int iEndPos = GetWindowTextLength();
m_richbox.HideSelection(TRUE, FALSE);
m_richbox.SetSel(iEndPos,iEndPos);
SendMessage(EM_SCROLLCARET);}
void CVideoNetDlg::Message(LPCTSTR lpszMessage, COLORREF clr)
{
CHARFORMAT cfm;
cfm.cbSize=sizeof(cfm);
cfm.crTextColor=clr;
cfm.dwMask=CFM_COLOR;
CString strTemp1 = lpszMessage; int len = m_richbox.GetTextLength();
if(len >15000)
{
m_richbox.SetSel(0,10000);
m_richbox.ReplaceSel(_T(""));
}
len = m_richbox.GetTextLength();
m_richbox.SetSel(len,len);
m_richbox.SetSelectionCharFormat(cfm);
m_richbox.ReplaceSel(strTemp1);
int iEndPos = GetWindowTextLength();
m_richbox.HideSelection(TRUE, FALSE);
m_richbox.SetSel(iEndPos,iEndPos);
SendMessage(EM_SCROLLCARET);}
解决方案 »
- atl的idl中定义module报错
- 求助:vs2005中文乱码
- ADO连接数据库,执行时出错
- 有什么办法可以给对话框程序加上菜单??
- 最近写了一个多用户拨号程序,有需要源码的留下email.
- 为什么没有拷贝进度条
- 简单而又头疼的指针问题!!
- 我又散分了。记得我散分的朋友进来帮顶一下。请版主不要扣我的信誉分了,我散分是有原因的。
- VC碰到了难题!显示!高手来帮忙!
- 求助,Miracl库使用时出现问题。
- 请问是oracle数据库快还是sqlserver快?
- 请教OPENGL问题:link时出现error LNK2001: unresolved external symbol ___glutInitWithExit@12的错误提示?
SendMessage(m_richbox.m_hWnd, EM_SCROLLCARET, 0, 0);试一试吧