1. 程式人生 > >vc多行輸入控制元件、可以用來記錄日誌的控制元件

vc多行輸入控制元件、可以用來記錄日誌的控制元件

在vc的控制元件面板中找到【rich Edit】控制元件,新增到窗體中,並設定相應的屬性,如下圖所示:

然後再新增一個按鈕控制元件,雙擊按鈕新增程式碼:

 int i=0;
 while(i<10000)  //迴圈插入10000條資料
 {
  i++;
  CString a;
  a.Format("%d",i);
  a = a+"、##########1234567890**************sdfsdsddfdfsd******************asdasd ";

  DWORD dwSel = ((CEdit*)GetDlgItem(IDC_RICHEDIT1))->GetSel();
  ((CEdit*)GetDlgItem(IDC_RICHEDIT1))->SetSel(dwSel, dwSel); //在最後一行插入資料 
  //((CEdit*)GetDlgItem(IDC_RICHEDIT1))->SetSel(0, 0);  //在第一行插入資料 

  ((CEdit*)GetDlgItem(IDC_RICHEDIT1))->ReplaceSel(a);
  ((CEdit*)GetDlgItem(IDC_RICHEDIT1))->ReplaceSel(_T("\r\n"));  //回車換行
 }

此時執行程式,程式會自動執行並退出或者根本不執行程式,解決方法:

在 CYourApp::InitInstance 中
新增:AfxInitRichEdit();

然後再執行程式,程式正常執行!