如何让RichEdit有数据更新的时候返回到最上面一行?
创建的时候属性如下:
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是要追加的新的一行数据。
现状是:每次更新一行都是显示当前更新的这一行,我想问一下,怎样才能让他有数据更新则返回到第一行。
谢谢!
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是要追加的新的一行数据。
现状是:每次更新一行都是显示当前更新的这一行,我想问一下,怎样才能让他有数据更新则返回到第一行。
谢谢!
...全文
相关推荐
实现带行号的 richedit 控件
**处理插入和删除**:当用户在代码中插入或删除行时,行号需要动态更新。6. **性能优化**:考虑到性能问题,可能需要缓存行号信息,避免每次滚动或编辑都进行大量计算。
RichEdit插入BMP图片的最简方法
RichEdit插入BMP图片的最简方法"这个主题主要关注如何在RichEdit控件中嵌入位图(BMP)文件,以便在编辑的文本中展示图像。下面我们将详细探讨这一技术。
带行号的RichEdit
带行号的RichEdit控件不仅需要正确地显示每行的行号,而且要确保在文本增删、滚动、复制粘贴等操作时行号能够即时更新,并保持与文本内容的同步。
RichEdit控件删除行和自动滚屏
以下是一个简单的示例代码,演示了如何删除RichEdit控件中的某一行并自动滚屏到最后:```cppCRichEditCtrl richEdit;// 假设richEdit已初始化并关联到控件// 获取当前光标位置
超强RichEdit控件,自动换行,高亮关键字
开发者可以通过设置控件的属性或发送特定的消息(如EM_FORMATRANGE)来控制这一行为。在编程时,可能还需要处理滚动条和文本更新的逻辑,以确保用户能够流畅地阅读和编辑文本。


界面
