You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用MFC编辑控件GetWindowText成员函数编译失败求助

MFC编辑框GetWindowText调用编译错误排查

自动生成的控件变量代码

通过右键编辑框添加控件变量后,生成的代码如下:

//自动生成的代码(右键编辑框选择添加控件变量)
CEdit edit_name;

void CSendMessageWithActualDataDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_EDIT_NAME, edit_name);
}

编译错误场景

在dofoo函数中调用成员函数时出现两种编译错误:

void dofoo()
{
     //IDE在"name.GetWi"处显示错误波浪线,仅显示对象描述无详细信息

    CString foostring= edit_name.GetWindowTextW(); 
    //错误C2661: 'CWnd::GetWindowTextW': 没有重载函数接受0个参数


    //或者不添加括号:

    //IDE无错误提示
    CString foostring= edit_name.GetWindowTextW;
    //错误C3867: 'CWnd::GetWindowTextW': 非标准语法;使用'&'创建成员指针

}

参考可行写法

根据相关示例,以下写法可以正常运行:

// 获取编辑框文本的可行写法
CEdit m_EditCtrl;
// ....
CString filePath1 = m_EditCtrl.GetWindowText();
// 可以正常工作

实在搞不懂这是怎么回事,希望得到相关帮助。

内容的提问来源于stack exchange,提问作者Phil G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:27:22