我在打开ClassWizard后点击工程中的两个类COneValueDlg类和COneValueFloatDlg类时分别出现了以下两个问题:
A duplicate insert block exists for class "COneValuDlg" in the source files(...)
Cannot find the insert section "AFX_DATA_MAP" in file "...".ClassWizard cannot edit or import this class.
源程序如下:
"OneValueDlg.h"文件如下:
class COneValueDlg : public CDialog
{
public:
COneValueDlg(CWnd* pParent = NULL); // standard constructor //{{AFX_DATA(COneValueDlg)
enum { IDD = IDD_ONE_VALUE };
CSpinButtonCtrl m_ctrlSpinValue;
int m_nValue;
//}}AFX_DATA CString m_sCaption;
CString m_sPrompt;
int m_nMinVal;
int m_nMaxVal;protected:
//{{AFX_VIRTUAL(COneValueDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL //{{AFX_MSG(COneValueDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};class COneValueFloatDlg : public CDialog
{
public:
COneValueFloatDlg(CWnd* pParent = NULL); // standard constructor //{{AFX_DATA(COneValueFloatDlg)
enum { IDD = IDD_ONE_VALUE_DOUBLE };
float m_Value;
//}}AFX_DATA CString m_sCaption;
CString m_sPrompt;
float m_MinVal;
float m_MaxVal;protected:
//{{AFX_VIRTUAL(COneValueFloatDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL //{{AFX_MSG(COneValueFloatDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
"OneValueDlg.cpp"文件如下:
#include "stdafx.h"
#include "app.h"
#include "OneValueDlg.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endifCOneValueDlg::COneValueDlg(CWnd* pParent /*=NULL*/)
: CDialog(COneValueDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(COneValueDlg)
m_nValue = 0;
//}}AFX_DATA_INIT
m_nValue = 100;
m_nMinVal = 0;
m_nMaxVal = 500;
}void COneValueDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COneValueDlg)
DDX_Control(pDX, IDS_SPIN_VALUE, m_ctrlSpinValue);
DDX_Text(pDX, IDC_VALUE, m_nValue);
//}}AFX_DATA_MAP
DDV_MinMaxInt(pDX, m_nValue, m_nMinVal, m_nMaxVal);
}BEGIN_MESSAGE_MAP(COneValueDlg, CDialog)
//{{AFX_MSG_MAP(COneValueDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()BOOL COneValueDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetWindowText(m_sCaption);
GetDlgItem(IDC_PROMPT_VALUE)->SetWindowText(m_sPrompt); m_ctrlSpinValue.SetRange(m_nMinVal, m_nMaxVal);
return TRUE;
}COneValueFloatDlg::COneValueFloatDlg(CWnd* pParent /*=NULL*/)
: CDialog(COneValueFloatDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(COneValueFloatDlg)
m_Value = 0;
//}}AFX_DATA_INIT
m_Value = 1;
m_MinVal = 0;
m_MaxVal = 10;
}void COneValueFloatDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COneValueDlg)
DDX_Text(pDX, IDC_VALUE, m_Value);
//}}AFX_DATA_MAP
DDV_MinMaxFloat(pDX, m_Value, m_MinVal, m_MaxVal);
}BEGIN_MESSAGE_MAP(COneValueFloatDlg, CDialog)
//{{AFX_MSG_MAP(COneValueFloatDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()BOOL COneValueFloatDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetWindowText(m_sCaption);
GetDlgItem(IDC_PROMPT_VALUE)->SetWindowText(m_sPrompt); return TRUE;
}请问大侠们哪里出问题了啊?谢谢!!!!!!
A duplicate insert block exists for class "COneValuDlg" in the source files(...)
Cannot find the insert section "AFX_DATA_MAP" in file "...".ClassWizard cannot edit or import this class.
源程序如下:
"OneValueDlg.h"文件如下:
class COneValueDlg : public CDialog
{
public:
COneValueDlg(CWnd* pParent = NULL); // standard constructor //{{AFX_DATA(COneValueDlg)
enum { IDD = IDD_ONE_VALUE };
CSpinButtonCtrl m_ctrlSpinValue;
int m_nValue;
//}}AFX_DATA CString m_sCaption;
CString m_sPrompt;
int m_nMinVal;
int m_nMaxVal;protected:
//{{AFX_VIRTUAL(COneValueDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL //{{AFX_MSG(COneValueDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};class COneValueFloatDlg : public CDialog
{
public:
COneValueFloatDlg(CWnd* pParent = NULL); // standard constructor //{{AFX_DATA(COneValueFloatDlg)
enum { IDD = IDD_ONE_VALUE_DOUBLE };
float m_Value;
//}}AFX_DATA CString m_sCaption;
CString m_sPrompt;
float m_MinVal;
float m_MaxVal;protected:
//{{AFX_VIRTUAL(COneValueFloatDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL //{{AFX_MSG(COneValueFloatDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
"OneValueDlg.cpp"文件如下:
#include "stdafx.h"
#include "app.h"
#include "OneValueDlg.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endifCOneValueDlg::COneValueDlg(CWnd* pParent /*=NULL*/)
: CDialog(COneValueDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(COneValueDlg)
m_nValue = 0;
//}}AFX_DATA_INIT
m_nValue = 100;
m_nMinVal = 0;
m_nMaxVal = 500;
}void COneValueDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COneValueDlg)
DDX_Control(pDX, IDS_SPIN_VALUE, m_ctrlSpinValue);
DDX_Text(pDX, IDC_VALUE, m_nValue);
//}}AFX_DATA_MAP
DDV_MinMaxInt(pDX, m_nValue, m_nMinVal, m_nMaxVal);
}BEGIN_MESSAGE_MAP(COneValueDlg, CDialog)
//{{AFX_MSG_MAP(COneValueDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()BOOL COneValueDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetWindowText(m_sCaption);
GetDlgItem(IDC_PROMPT_VALUE)->SetWindowText(m_sPrompt); m_ctrlSpinValue.SetRange(m_nMinVal, m_nMaxVal);
return TRUE;
}COneValueFloatDlg::COneValueFloatDlg(CWnd* pParent /*=NULL*/)
: CDialog(COneValueFloatDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(COneValueFloatDlg)
m_Value = 0;
//}}AFX_DATA_INIT
m_Value = 1;
m_MinVal = 0;
m_MaxVal = 10;
}void COneValueFloatDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COneValueDlg)
DDX_Text(pDX, IDC_VALUE, m_Value);
//}}AFX_DATA_MAP
DDV_MinMaxFloat(pDX, m_Value, m_MinVal, m_MaxVal);
}BEGIN_MESSAGE_MAP(COneValueFloatDlg, CDialog)
//{{AFX_MSG_MAP(COneValueFloatDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()BOOL COneValueFloatDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetWindowText(m_sCaption);
GetDlgItem(IDC_PROMPT_VALUE)->SetWindowText(m_sPrompt); return TRUE;
}请问大侠们哪里出问题了啊?谢谢!!!!!!
把这句写到AFX_DATA_MAP内,不要写到外面
像这样:
void COneValueDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COneValueDlg)
DDX_Control(pDX, IDS_SPIN_VALUE, m_ctrlSpinValue);
DDX_Text(pDX, IDC_VALUE, m_nValue);
DDV_MinMaxInt(pDX, m_nValue, m_nMinVal, m_nMaxVal);
//}}AFX_DATA_MAP }
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COneValueDlg)
DDX_Text(pDX, IDC_VALUE, m_Value);
//}}AFX_DATA_MAP
DDV_MinMaxFloat(pDX, m_Value, m_MinVal, m_MaxVal);
}把红色的部分修改成COneValueFloatDlg
这个程序我是从网上下的,是关于对位图处理的程序。我想学一下,以便移植响应的功能。
下载的网址是:http://www.naughter.com/dibimage.html麻烦你们了。谢谢!!!!!!!