2012-05-19 67 views
1

這可能是一個非常基本的問題,但我似乎無法得到它。我正在開發VisualC++項目,我基本上想從GUI獲取一個字符串,然後用它作爲文件名。到目前爲止,我已經寫了以下內容,其中IDC_FILE_NAME是編輯控件框的ID,但我不確定這是否是完成此操作的方式。Visual C++從Cedit獲取字符串

m_pFileName = (CEdit*)GetDlgItem(IDC_FILE_NAME); 

CString fName =_T(" "); 
GetDlgItemTextA(IDC_FILE_NAME, fName); 

回答

1

,但我不知道這是即使做到這一點的方式。

答案是YES和NO。 如果使用得當,是的, 不,不像你這樣做。 除非要強制UNICODE或ANSI,否則請勿使用UNICLODE/ANSI特定版本的函數。 您的代碼應該是這樣的:

CString csText; 
    GetDlgItemText(IDC_FILE_NAME, csText); 

注意GetDlgItemText

0

這已經過測試與VS2015:

// 
// Get string from CEdit m_ceDate; 
// where 
// DDX_Control(pDX, IDC_EDIT_DATE, m_ceDate); 

char cdateBuf[128]; 
UINT nCountOfCharacters = GetDlgItemText(IDC_EDIT_DATE, cdateBuf, 16); 
CString csDate = cdateBuf;