首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

VC++編輯框自動換行、滾屏與超行清空的三種實現技巧

     編輯:VC 教學

前置條件

EDIT 控件屬性需勾選 Multiline、Auto HScroll、Vertical Scroll。

方法一:綁定 CString 變量(僅自動換行)


m_strLog += sNewString + _T("\r\n");
UpdateData(FALSE);

缺點:不會自動滾動到最後一行。

方法二:綁定 CEdit 控件變量(自動換行 + 自動滾屏)


m_editLog.SetSel(-1, -1);           // 將插入點移至末尾
m_editLog.ReplaceSel(sNewString + _T("\r\n"));

優點:內容自動追加且視野跟隨滾動至底部。

方法三:超過指定行數(如 200 行)自動清空


int nLines = m_editLog.GetLineCount();
if (nLines <= 200) {
    m_editLog.SetSel(-1, -1);
    m_editLog.ReplaceSel(str + _T("\r\n"));
} else {
    m_editLog.SetSel(0, -1); // 全選
    m_editLog.Clear();       // 清空
}

SetSel 關鍵參數說明

  • nStartChar = -1, nEndChar = -1:移除當前選取,插入點置於文本末尾。
  • nStartChar = 0, nEndChar = -1:全選所有文本。

總結

根據需求選擇:單純記錄用方法一;即時日志顯示用方法二;長期運行防止內存過大用方法三。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved