MFC对话框应用程序中的错误

时间:2014-11-02 05:31:19

标签: c++ visual-studio-2010 visual-c++ mfc

我正在学习MFC Dialog Applications,第一次尝试我做了教程explained here

我正在使用Visual Studio 2010,但是当我运行这个时,我会收到错误 error C2664: 'DDX_Control' : cannot convert parameter 3 from 'CString' to 'CWnd &' 1>\documents\visual studio 2010\projects\mfc\mfc\mfcdlg.cpp(75): error C2065: 'IDC_BUTTON1' : undeclared identifier 1>\documents\visual studio 2010\projects\mfc\mfc\mfcdlg.cpp(75): error C2065: 'IDC_BUTTON1' : undeclared identifier 1>\documents\visual studio 2010\projects\mfc\mfc\mfcdlg.cpp(76): error C2065: 'IDC_COMBO1' : undeclared identifier 1>\documents\visual studio 2010\projects\mfc\mfc\mfcdlg.cpp(76): error C2065: 'IDC_COMBO1' : undeclared identifier 1>

我完全按照说明中提到的那样做了。

void CMFCDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_FIRSTNAME, m_strFirstName);
    DDX_Text(pDX, IDC_LASTNAME, m_strLastName);
    DDX_Control(pDX, IDC_TITLE, m_strTiltle);
    DDX_LBString(pDX, IDC_NAMELIST, m_strFullName);
    DDX_Control(pDX, IDC_NAMELIST, m_NameList);
}  

由于这是我第一次在MFC应用程序中做任何事情,我不知道出了什么问题。有人可以帮我理解出了什么问题吗?

2 个答案:

答案 0 :(得分:3)

我不太确定你是否正确地遵循了教程中的步骤,如果你有错误,你不应该得到这些错误。

C2664错误:将DDX_Control(pDX, IDC_TITLE, m_strTiltle);更改为DDX_Text(pDX, IDC_TITLE, m_strTiltle);

C2065错误:该教程不包含IDC_BUTTON1 / IDC_COMBO1,它提到IDC_ADD按钮和IDC_TITLE组合框。

答案 1 :(得分:2)

m_strTitleCString类型的值,代码m_strTitle中的值被定义为控件。对于其余部分,您可能需要重命名或删除标识符,使用适当的。