在建立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);
}