2012-05-19 53 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;