当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 通过程序向RichEditView写文本

VC++
用 auto_ptr 类模板帮助动态内存管理
走近 STL
一步一步学STL标准模板库
使用 <multimap> 库创建重复键关联容器
使用 <map> 库创建关联容器
用 vectors 改进内存的再分配
用函数模板实现和优化抽象操作
STL 字符串类与 UNICODE 及其它......
如何在Dll中导出STL类
再谈“在STL列表(Lists)中插入不同类型的对象”
使用::std::vector<>作为管理动态数组的优先选择
三种常见中文内码的转换方法
JNI 中文处理问题小结
构建 GB2312 汉字库的 unicode 码表
正则表达式简介
在非MFC程序中引用CString
UTF-8与GB2312之间的互换
宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现
用VC++设计语法编辑器
C语言中对时间和日期的处理

VC++ 中的 通过程序向RichEditView写文本


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 108 ::
收藏到网摘: n/a

通过程序向RichEditView写文本
作者:陈新之

下载本文示例代码

在建立SDI或MDI程序时,如果选择了RichEditView,就可以利用RichEdit提供的丰富的格式,但是如何通过程序在RichEditView中写入文本却是一个问题,下文就介绍了如何实现用程序在RichEditView中写文本.

一、在文本末尾写文字
void CRichEditUseDoc::OnTextWriteafter() {	CString str;	int nTextLength;	CRichEditView *pView = GetView();	CRichEditCtrl &edit = pView->GetRichEditCtrl();	//要写的内容为ABCDEFG	str = "ABCDEFG";	//加入换行	str += "\r\n";	//获得文字的长度	nTextLength = edit.GetWindowTextLength();	//将光标放在文本最末	edit.SetSel(nTextLength, nTextLength);	//写入文本	edit.ReplaceSel(str);}
二、在光标后插入文本,可以使用CHARRANGE结构
void CRichEditUseDoc::OnTextWriteCur() {	CString str;	CHARRANGE crPos;	CRichEditView *pView = GetView();	CRichEditCtrl &edit = pView->GetRichEditCtrl();	//用CHARRANGE结构体获得选择的文本位置	edit.GetSel(crPos);	//要写的内容为12345	str = "12345";	//如果没有选中文本,就直接写在光标后	//如果选中了文本,就替代选中的文本	if (crPos.cpMin != crPos.cpMax)	{	edit.SetSel(crPos.cpMin, crPos.cpMax);	}	else	{	edit.SetSel(crPos.cpMax, crPos.cpMax);	}	edit.ReplaceSel(str);	}
三、全选文本
void CRichEditUseDoc::OnTextSelectall() {	CRichEditView *pView = GetView();	CRichEditCtrl &edit = pView->GetRichEditCtrl();	edit.SetSel(0, -1);}