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

VC++
几个数字信号处理算法程序
简易软盘镜像工具的实现及操作系统编写初步
教你使用正则表达式
C++ 扩展和嵌入 Python
拷贝构造和赋值操作符,C#和本机 C++ 代码的互用性
精通VC与Matlab联合编程(六)
精通VC与Matlab联合编程(五)
一个排序用的C++函数模板
浅析VC与MATLAB联合编程
C++编译器如何实现异常处理
文件重定义冲突的分析与解决
一步一步实现MFC扩展DLL中导出类和对话框
C宏:智者的利刃,愚者的恶梦!
引用的作用
《UTF-8与GB2312之间的互换》的改进
程序风格的要素-C++风格指南
VC+6.0实现文本串的自由拆分
怎样给串行化类分配版本号(可配置版本模式)
在常规的编程任务中使用新的 <tuple> 库
使用 typedef 抑制劣质代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 92 ::
收藏到网摘: 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);}