ClassWizard的困惑--详细代码部分
我在对话框 CDesignParameter 中建立了14行4列共56个编辑框和一个测试比较编辑框,
手工模拟ClassWizard建立编辑控件与复杂变量间的联系:
在对话框 CDesignParameter 中:
1、在 DesignParameter.h 中加入变量的声明:
//{{AFX_DATA(CDesignParameter)
enum {IDD = IDD_DesignParameter};
double m_aaa;
//}} AFX_DATA
2、在 DesignParameter.cpp 中:
<1> 在构造函数中加入下面内容:
//{{AFX_DATA_INIT(CDesignParameter)
m_aaa = 0.0;
//}} AFX_DATA_INIT
<2> 在 DoDataExchange(CDataExchange *pDX) 中加入下面内容:
//{{AFX_DATA_MAP(CDesignParameter)
DDX_Text(pDX, IDC_EDIT57, m_aaa);
//}} AFX_DATA_MAP
以上手工模拟 ClassWizard 单独建立 edit57 与 m_aaa 的联系,一切正常,和利用 ClassWizard 建立 edit57 与 m_aaa 的联系一模一样。
同样道理,下面代码运行正常.
1、在 DesignParameter.h 中加入变量的声明:
//{{AFX_DATA(CDesignParameter)
enum {IDD = IDD_DesignParameter};
// double m_aaa;
Double m_design[14][4];
//}} AFX_DATA
2、在 DesignParameter.cpp 中:
<1> 在构造函数中加入下面内容:
//{{AFX_DATA_INIT(CDesignParameter)
//m_aaa = 0.0;
int i,j;
for(i=0;i<14;i++)
for(j=0;j<4;j++)
m_design[i][j]=0.0;
//}} AFX_DATA_INIT
<2> 在 DoDataExchange(CDataExchange *pDX) 中加入下面内容:
//{{AFX_DATA_MAP(CDesignParameter)
//DDX_Text(pDX, IDC_EDIT57, m_aaa);
DDX_Text(pDX, IDC_EDIT1, m_design[0][0]);
DDX_Text(pDX, IDC_EDIT2, m_design[1][0]);
DDX_Text(pDX, IDC_EDIT3, m_design[2][0]);
.
.
.
DDX_Text(pDX, IDC_EDIT56, m_design[13][3]);
//}} AFX_DATA_MAP
但再次调用 ClassWizard,却报告出错如下:
Parsing error: Expect ";".
Input Line: "Double m_design[14][4];"
这是为什么?
请哪为专家给予解答,谢谢!
解决问题的,将给予 200 分奖励!
问题点数:20、回复次数:2Top
1 楼masterz(www.fruitfruit.com)回复于 2002-01-25 23:07:30 得分 20
//{{AFX_DATA_MAP(CDesignParameter)
//DDX_Text(pDX, IDC_EDIT57, m_aaa);
//}} AFX_DATA_MAP
DDX_Text(pDX, IDC_EDIT1, m_design[0][0]);
DDX_Text(pDX, IDC_EDIT2, m_design[1][0]);
DDX_Text(pDX, IDC_EDIT3, m_design[2][0]);
.
.
.
DDX_Text(pDX, IDC_EDIT56, m_design[13][3]);
你自己加的要放在//}} AFX_DATA_MAP之外Top
2 楼lcfzjl33(lcfzjl)回复于 2002-01-25 23:50:44 得分 0
对不起 masterz() 先生,我只有160分的权利,无法兑现诺言,先给您加 20分,以后请多多关照!Top




