0

我正在学习 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 时经常感到困惑,非常感谢您的详细解释。谢谢。

4

1 回答 1

2

它必须在每个使用它的 cpp 文件中定义。在这些 cpp 文件中添加#include "Resource.h"。在对话框.h 文件的#include 之前执行该#include。

于 2013-08-04T15:45:20.050 回答