我在打开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;
}请问大侠们哪里出问题了啊?谢谢!!!!!!

解决方案 »

  1.   

    COneValuDlg这个类好像在目前的project中已经存在了,你检查一下了。检查.cpp和.h文件是否存在了
      

  2.   

    应该是你这两个类中增加了ClassWizard不支持的消息响应程序。
      

  3.   

    看这个提示,应该是ClassWizard不认识AFX_DATA_MAP这个宏。是你手工添加到对话框类的吧。
      

  4.   

    DDV_MinMaxInt(pDX, m_nValue, m_nMinVal, m_nMaxVal); 
    把这句写到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 } 
      

  5.   

    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); 
    }把红色的部分修改成COneValueFloatDlg
      

  6.   

    我按照快乐鹦鹉的帮助做了一下,可是问题还是存在。
    这个程序我是从网上下的,是关于对位图处理的程序。我想学一下,以便移植响应的功能。
    下载的网址是:http://www.naughter.com/dibimage.html麻烦你们了。谢谢!!!!!!!