MFC 文字框 用法

2021-05-22 18:09:29 字數 2029 閱讀 3497

mfc裡面的edit control控制項的用法是怎麼樣的,1.怎麼樣才能賦值給edit control控制項並在edit control控制項顯示出來;2.怎麼取得edit control控制項的值並傳遞給乙個變數?希望各位大俠幫幫忙!

//獲得edit

cedit* pboxone;

pboxone = (cedit*) getdlgitem(idc_edit1);

//付值

pboxone->setwindowtext( _t"foo" );

//取值

cstring str;

pboxone->getwindowtext(str);

getdlgitem(idc_edit1)->setwindowtext( _t"foo" );

也可以//取值

cstring str;

getdlgitem(idc_edit1)->getwindowtext(str);

editcontrol是在mfc對話方塊中最頻繁的使用的控制項之一

vc++2005提供editcontrol的屬性和控制項事件操作簡單方便

1只允許輸入數字

如果設定editcontrol中只能輸入數字,在vc6.0中需要編寫乙個派生類來達到目的,而在vc++2005下只需要在屬性對話方塊中將number的屬性值設

為true就可以了.

2獲取editcontrol的內容

兩種方法

第一種,利用mfc應用程式嚮導生成乙個基於對話方塊的應用程式,從資源檢視中選擇該dialog窗體,利用右側的工具箱,向dialog內新增乙個

editcontrol項,宣告控制項變數的類別為value,變數型別為cstring,變數名為m_sedit_content.

cstring m_sedit_content;

cstring s;

updatedata(true);

s=m_sedit_content.getstring();

messagebox(s,_t("獲取編輯框的內容"),mb_ok);

s.releasebuffer();

這樣就取得了編輯框的內容

updatedata(true);這句**很重要,它的作用是將輸入的資料裝入editcontrol對應的變數m_sedit_content中.

由於mfc應用程式嚮導預設是使用unicode庫,所以messagebox中的字串需要用_t(),否則會出現const char轉換lpctstr錯誤,如果不使用

unicode庫就不需要_t().

第二種方法

宣告控制項變數的類別為control,變數型別為cedit,變數名為m_edit_content.

**如下(unicode)

cstring s;

s.getbuffersetlength(1024);

m_edit_content.getwindowtextw(s.getbuffer(),s.getlength());

messagebox(s,_t("獲取文字框的內容"),mb_ok);

s.releasebuffer();

如果不是unicode下獲取編輯框內容的函式就是getwindowtexta

3將editcontrol中的內容轉化為整數

在限制編輯框只能數字之後,要將字串轉化為整數

宣告控制項變數的類別為value,變數型別為cstring,變數名為m_sedit_content.

cstring s;

updatedata(true);

s=m_sedit_content.getstring();

int n=_tstoi(s);

s.releasebuffer();

n就是所需要的整數

在vc2005下字串轉換成整數需要_tstoi這個函式

4限制編輯框的輸入長度

宣告控制項變數的類別為control,變數型別為cedit,變數名為m_edit_content.

在對話方塊初始化的地方寫m_edit_content.setlimittext(1);

編輯框就只能輸入乙個字元了.

MFC 文字框換行

mfc 文字框換行 標籤 it mfc 文字框 1.將multiline屬性設定為true 2.換行是使用 r n 寬字串為l r n 3.如果需要編輯並且按enter鍵換行,還要將 want return 設定為 true 4.如果需要垂直滾動條的話將vertical scroll屬性設定為tru...

MFC程式 更改 文字框 控制項背景

下面的例子是將應用程式對 話框設定為藍色背景和紅色文字 對於分布在對話方塊上的控制項,我們可以修改其顏色 其背景顏色,比如對靜態文字 文字編輯框 列表框等等。過載onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 即wm ctlcolor訊息。具體步驟如下 以上例...

MFC之靜態文字框的使用

如果我們想在程式中動態建立靜態文字框,而不是像前面那樣直接從toolbox中拖到對話方塊模板上,那麼就需要使用cstatic類的成員函式create。create函式的原型如下 virtual bool create lpctstr lpsztext,dword dwstyle,const rect...