1

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

m_pFileName = (CEdit*)GetDlgItem( IDC_FILE_NAME );

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

2 回答 2

1

但我不确定这是否是实现这一目标的方法。

答案是肯定的和否定的。是的,如果使用得当,不,不是你这样做。除非您想强制使用 UNICODE 或 ANSI,否则不要使用 UNICODE/ANSI 特定版本的函数。您的代码应如下所示:

    CString csText;
    GetDlgItemText(IDC_FILE_NAME, csText);

注意GetDlgItemText

于 2012-05-20T14:58:09.930 回答
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; 
于 2017-03-29T01:01:20.580 回答