vc中edit控制項使用總結

2021-07-09 06:34:53 字數 1705 閱讀 4309

通過類嚮導可以生成兩種類成員變數,一種是cstring型別,一種是cedit型別。

在程式中使用時如果只是簡單的獲取 edit控制項內容,或設定簡單的內容建議使用cstring型別成員變數。

示例:cstring   m_stredit;

//獲得edit框內容

updatedata(true);

此時m_stredit就是edit框內容的字串變數。

//要更新edit的話只要對m_stredit進行賦值然後

updatadata(false);//即可

如果是一些對edit框的複雜操作建議用cedit型別。

示例:cedit m_ctrledit;

//將游標移到開頭

m_ctrledit.setsel(0,0);

//將游標移到末尾

m_ctrledit.setsel(-1);

//選中所有內容

m_ctrledit.setsel(0,-1);

//寫入值

m_ctrledit.replacesel("替換內容");

//得到當前edit框中的所有字元數

int istart,icount;//icount 為字元數

m_ctrledit.setsel(0,-1);

m_ctrledit.getsel(istart,icount);

還一種可以直接用控制項的id值來進行操作

示例:((cedit*)getdlgitem(idc_edit)

他類似於上邊的m_ctrledit

這樣寫的好處是可以在訊息傳遞中使用,便於不同視窗間傳遞edit內容

例如:下面的訊息響應函式中

seteditcontent(wparam wparam, lparam lparam)

idc_edit可以通過wparam傳遞近來,而字元傳內容可以直接通過lparam傳遞近來

cstring msg="要傳遞的訊息";

::sendmessage(m_hparent,wm_sendmsg_edit,(wparam) idc_edit, (lparam)(lpstr)(lpctstr)msg) 如:

((cedit*)getdlgitem(wparam))->setsel(-1);

((cedit*)getdlgitem(wparam))->replacesel((lpcstr)lparam);

vc編輯框(edit)的自動換行與自動滾屏

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

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

m_string = m_string + snewstring + "\r\n"   //自動換行

updatedata(false);

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

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

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

m_edit.replacesel(snewstring+"\r\n");   //自動換行

updatedata(true);

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

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

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

我發現修改編輯框的屬性:auto_hscroll等用處不大。

VC中edit控制項使用

setsel start,end 作用 定製edit的所選擇內容.間接地可以用於定位游標位置.使用例子 exp1 設定游標 cedit pedit cedit getdlgitem idc edit1 pedit setsel 2,2 pedit setfocus exp2 選擇內容 cedit p...

VC中edit控制項使用

vc中edit控制項使用 setsel start,end 作用 定製edit的所選擇內容.間接地可以用於定位游標位置.使用例子 exp1 設定游標 cedit pedit cedit getdlgitem idc edit1 pedit setsel 2,2 pedit setfocus exp2...

VC 之Edit控制項自動換行

vc 中edit控制項中的文字換行標誌是 r n,而不是一般的 n。所以說,如果想在edit控制項中顯示兩行文字,可以使用如下方法 cstring str name r n pedit setwindowtext str 這樣就可以在edit空間中顯示兩行文字。前提是 該edit控制項必須設定為es...