EDIT控件滚动条? 各位大家好,我最近做一个局域网聊天的软件,类似MSN,QQ~可是在聊天信息显示的EDIT控件的滚动条上遇到了点问题?如何设置才能让滚动条自动滚动显示最新聊天信息?而不是我还要自己用手拖那个滚动条来看最新的信息?谢谢大家帮忙~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有新消息到来或发消息时,执行:m_edt.LineScroll (m_edt.GetLineCount(), 0);//m_edt是显示消息的EDIT控件 m_edit.SendMessage(WM_VSCROLL,SB_TOP,0); //滚动到顶部 SB_BOTTOM 滚动到底部 晕!还要多详细阿m_edit 是给EDIT控件绑定的控制变量,你不会不会绑定吧?把我那句放在接收到消息并向EDIT中添加进去的后边不就OK了 这个大家没有考虑需求问题。在聊天的时候,除了要滚动到最后一行显示外,还要把光标定位到最后。在实际的处理中,这个是光标操作,而不是滚动条操作。代码如下。 m_edit.SetFocus(); int n = m_edit.GetWindowTextLength(); m_edit.SetSel(n, n, FALSE); 难道你的新信息不是添加在最顶或者最底而是其他位置吗?如果是在前边加,那就用SB_TOP,如果是在后边加就用SB_BOTTOM,另外不明白察看新信息和定位光标有什么关系 这个容易::SendMessage(编辑框句柄,WM_VSCROLL,(WPARAM)SB_BOTTOM,0); to starytx(做人要低调) ( ) 这个是聊天程序。在聊天的过程中,显示框的光标一般情况下,最好定位在末尾。因为每次插入最多的是在末尾啊。这样在编程过程中会方便很多。在定位光标的时候,同时定位显示当然要比先定位光标,再定位滚动要方便。我已经说了,这个是实际操作中的处理。并不是说你的操作方式不正确。在实际的聊天编程中,很少通过滚动条定位的,都是用光标定位,并同时驱动滚动条的。当然,在实际的聊天窗口编程中,大家都用的是CRichEdit或其派生类。 求助CString的CompareNoCase的问题 MFC中怎样让隐藏的窗口不获得焦点? vc CHtmlView 保存网页问题 单文档如何用代码打开打印预览 急急急!!!关于程序无响应的问题 怎样在List控件中,鼠标右键按下后,将该行背景改了? 图象处理方面的问题 我要做一个图库管理的模块,用MFC做,哪位大哥来帮忙啊,我实在是没办法了 关于MSDN的问题 ---->薪水调查!各位在职程序员请进!! 逗号分行和按顺序排列问题(急...在线等,小弟下午要交作业!!) 请问断点调试和单步调试是怎么实现的?
m_edit 是给EDIT控件绑定的控制变量,你不会不会绑定吧?
把我那句放在接收到消息并向EDIT中添加进去的后边不就OK了
int n = m_edit.GetWindowTextLength();
m_edit.SetSel(n, n, FALSE);
::SendMessage(编辑框句柄,WM_VSCROLL,(WPARAM)SB_BOTTOM,0);
我已经说了,这个是实际操作中的处理。并不是说你的操作方式不正确。
在实际的聊天编程中,很少通过滚动条定位的,都是用光标定位,并同时驱动滚动条的。
当然,在实际的聊天窗口编程中,大家都用的是CRichEdit或其派生类。