MFC编程中的对话框

MFC编程中的对话框,mfc,dialog,Mfc,Dialog,我正在学习MFC编程。在对话框设计部分,我输入了一个问题。 资源是IDD_PEN_WIDTH,它是对话框的ID。有一段自动生成的代码与此相关: class PenWidthDlg : public CDialogEx { DECLARE_DYNAMIC(PenWidthDlg) public: PenWidthDlg(CWnd* pParent = NULL); // standard constructor virtual ~PenWidthDlg(); //

我正在学习MFC编程。在对话框设计部分,我输入了一个问题。

资源是IDD_PEN_WIDTH,它是对话框的ID。有一段自动生成的代码与此相关:

class PenWidthDlg : public CDialogEx
{
    DECLARE_DYNAMIC(PenWidthDlg)

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

// Dialog Data
    enum { IDD = IDD_PEN_WIDTH };

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

    DECLARE_MESSAGE_MAP()
public:
    int m_nPenWidth;
};
在运行程序之前,IDD_PEN_WIDTH显示“#define IDD_PEN_WIDTH 301”,同时将鼠标悬停在代码中的IDD_PEN_WIDTH上。但是当我运行它的时候,有一个错误说IDD_PEN_WIDTH是一个未定义的标识符。然后我将鼠标悬停在“IDD_PEN_WIDTH”上,它还表示它未定义。
我通常对MFC学习感到困惑,非常感谢您的详细解释。谢谢。

必须在使用它的每个cpp文件中定义它。在这些cpp文件中添加#include“Resource.h”。在dialog.h文件的#include之前执行此操作。

只需在定义对话框的头中包含资源头。你每次都需要它。