如何让RichEdit有数据更新的时候返回到最上面一行?

wddlqd 2007-07-12 11:23:14
创建的时候属性如下:
hMainLogRichWnd = CreateWindowEx(WS_EX_CLIENTEDGE,"RICHEDIT", "",WS_CHILD |WS_VISIBLE|WS_BORDER|ES_MULTILINE|WS_VSCROLL|WS_HSCROLL|ES_READONLY|ES_AUTOHSCROLL|ES_AUTOVSCROLL,0,0,0,0,hWnd,NULL,hInstance,NULL);

数据更新的时候:
int ndx = GetWindowTextLength(hMainLogRichWnd);
SendMessage(hMainLogRichWnd, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
SendMessage(hMainLogRichWnd, EM_REPLACESEL, 0, (LPARAM)(LPCTSTR)buffer );

buffer是要追加的新的一行数据。
现状是:每次更新一行都是显示当前更新的这一行,我想问一下,怎样才能让他有数据更新则返回到第一行。
谢谢!

...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wddlqd 2007-07-12
  • 打赏
  • 举报
回复
问题自己解决了。
最后手动发EM_SCROLL事件给控件。
SendMessage(hMainLogRichWnd, EM_SCROLL, SB_TOP, 0);
wddfb 2007-07-12
  • 打赏
  • 举报
回复
mark

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧