Visual C ++从Cedit获取字符串

时间:2012-05-19 06:34:58

标签: visual-c++ cedit

这可能是一个非常基本的问题,但我似乎无法得到它。我正在开发一个visualC ++项目,我基本上想从GUI获取一个字符串,然后将其用作文件名。到目前为止,我已经编写了以下内容,其中IDC_FILE_NAME是编辑控件框的ID,但我不确定这是否是实现此目的的方法。

m_pFileName = (CEdit*)GetDlgItem( IDC_FILE_NAME );

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

2 个答案:

答案 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;