Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1851668
  • 博文数量: 909
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 12260
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 20:50
文章分类

全部博文(909)

文章存档

2008年(909)

我的朋友

分类:

2008-05-06 21:30:53

一起学习
通过程序向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);

}
下载本文示例代码


通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本通过程序向RichEditView写文本
阅读(375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~