MFC edit control 用法

1.用SetWindowText設置文本內容並換行: 函數

其中控件屬性設置: 工具

MultiLine=true; code

want Return = true; 事件

strMsg+=s+"/r/n";// 用/r/n換行。 資源

//得到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就能夠了. it

2獲取EditControl的內容
兩種方法
第一種,利用MFC應用程序嚮導生成一個基於對話框的應用程序,從資源視圖中選擇該Dialog窗體,利用右側的工具箱,向Dialog內添加一個 變量

EditControl項,聲明控件變量的類別爲Value,變量類型爲CString,變量名爲m_sEdit_Content. date


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); 編輯框就只能輸入一個字符了.

相關文章
相關標籤/搜索