程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> VC中通過程序向RichEditView寫文本

VC中通過程序向RichEditView寫文本

編輯:關於VC++

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

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved