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...