Visual studio 为什么创建MFC对话框向导不包括资源。h

Visual studio 为什么创建MFC对话框向导不包括资源。h,visual-studio,visual-c++,mfc,Visual Studio,Visual C++,Mfc,我已经创建了MFC对话框表单资源。在我请求表单向导为这个资源创建类之后,它会正确地生成头文件和cpp文件,除了一件事——我的类不识别类代码中出现的控件ID,比如ID_blabla。包括resource.h后,一切正常。但为什么向导不会自动执行此操作 这是对话框标题: #pragma once // dlg4 dialog class dlg4 : public CDialogEx { DECLARE_DYNAMIC(dlg4) public: dlg4(CWnd* pPa

我已经创建了MFC对话框表单资源。在我请求表单向导为这个资源创建类之后,它会正确地生成头文件和cpp文件,除了一件事——我的类不识别类代码中出现的控件ID,比如ID_blabla。包括resource.h后,一切正常。但为什么向导不会自动执行此操作

这是对话框标题:

#pragma once


// dlg4 dialog

class dlg4 : public CDialogEx
{
    DECLARE_DYNAMIC(dlg4)

public:
    dlg4(CWnd* pParent = NULL);   // standard constructor
    virtual ~dlg4();

// Dialog Data
    enum { IDD = IDD_DIALOG2 };

protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

    DECLARE_MESSAGE_MAP()
};
对话框cpp:

// dlg4.cpp : implementation file
//

#include "stdafx.h"
#include "dlg4.h"
#include "afxdialogex.h"


// dlg4 dialog

IMPLEMENT_DYNAMIC(dlg4, CDialogEx)

dlg4::dlg4(CWnd* pParent /*=NULL*/)
    : CDialogEx(dlg4::IDD, pParent)
{

}

dlg4::~dlg4()
{
}

void dlg4::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(dlg4, CDialogEx)
END_MESSAGE_MAP()


// dlg4 message handlers

该向导包括应用程序类h文件。应用程序类h文件包括resource.h


您删除app.h的include并将其替换为resource是非常合理的。h

我已经添加了向导生成的源代码。其中是app.h?app.h表示.h,它在您的项目中,包含您的app类的类定义,该类定义派生自CWinApp或CWinAppEx。