MFC中CEdit控制項的換行輸入

2021-06-16 14:42:46 字數 961 閱讀 8446

這兩天進行mfc程式設計遇到乙個cedit控制項換行顯示的問題,先看一段測試**:

cedit edit;

cstring str;

str += "abc";

str += "/r/n";

str += "def";

edit.setwindowtext(str);

控制項中顯示為:"abc  def"

這是因為除了要用/r/n外,還要都cedit 的屬性進行設定:

auto hscroll 設定為 false

multiline  設定為 true

want return 設定為 true。

在網上還看到另外一些方法,還沒有驗證,先貼在這裡:

經過多次測試,總結出vc編輯框(edit)的自動換行與自動滾屏的方法。

方法一:(當edit對映到一cstring時) 

m_string = m_string + snewstring + " "   //自動換行 

updatedata(false);

此法只能做到自動換行,不會自動滾屏到最後一行。

方法二:(當edit對映到一edit時) 

m_edit.setsel(-1, -1);      //自動滾屏 

m_edit.replacesel(snewstring+" ");   // snewstring會接edit裡的資料繼續新增,且自動換行 

updatedata(true);

此法可以做到自動換行,並自動滾屏到最後一行。

以上,m_string、m_edit.分別為給編輯框新增的成員變數;snewstring 為要顯示的字串 

注意二法中updatadata引數的區別。

//設定編輯框焦點

getdlgitem (idc_edit1)->setfocus();

MFC中CEdit控制項的換行輸入

這兩天進行mfc程式設計遇到乙個cedit控制項換行顯示的問題,先看一段測試 cedit edit cstring str str abc str r n str def edit.setwindowtext str 控制項中顯示為 abc def 這是因為除了要用 r n外,還要都cedit 的屬...

MFC中CEdit控制項的換行輸入

這兩天進行mfc程式設計遇到乙個cedit控制項換行顯示的問題,先看一段測試 cedit edit cstring str str abc str r n str def edit.setwindowtext str 控制項中顯示為 abc def 這是因為除了要用 r n外,還要都cedit 的屬...

MFC中CEdit控制項的換行輸入

這兩天進行mfc程式設計遇到乙個cedit控制項換行顯示的問題,先看一段測試 cedit edit cstring str str abc str r n str def edit.setwindowtext str 控制項中顯示為 abc def 這是因為除了要用 r n外,還要都cedit 的屬...