【问题标题】:Visual C++ get string from CeditVisual C++ 从 Cedit 获取字符串
【发布时间】:2012-05-26 15:17:12
【问题描述】:

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

m_pFileName = (CEdit*)GetDlgItem( IDC_FILE_NAME );

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

【问题讨论】:

    标签: visual-c++ cedit


    【解决方案1】:

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

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

        CString csText;
        GetDlgItemText(IDC_FILE_NAME, csText);
    

    注意 GetDlgItemText

    【讨论】:

      【解决方案2】:

      已经用 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; 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        • 2011-11-05
        • 1970-01-01
        • 1970-01-01
        • 2012-01-26
        相关资源
        最近更新 更多