这可能是一个非常基本的问题,但我似乎无法得到它。我正在开发一个visualC ++项目,我基本上想从GUI获取一个字符串,然后将其用作文件名。到目前为止,我已经编写了以下内容,其中IDC_FILE_NAME是编辑控件框的ID,但我不确定这是否是实现此目的的方法。
m_pFileName = (CEdit*)GetDlgItem( IDC_FILE_NAME );
CString fName =_T(" ");
GetDlgItemTextA(IDC_FILE_NAME, fName);
答案 0 :(得分:1)
但我不确定这是否是实现这一目标的方法。
答案是肯定而且不是。 是,如果使用得当, 不,不像你那样做。 除非要强制使用UNICODE或ANSI,否则请勿使用UNICLODE / ANSI特定版本的函数。 您的代码应如下所示:
CString csText;
GetDlgItemText(IDC_FILE_NAME, csText);
注意 GetDlgItemText
答案 1 :(得分: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;