一个vtk与itk和mfc集成的程序,在VS2008编译出现如下异常,求大侠们帮忙解决

一个vtk与itk和mfc集成的程序,在VS2008编译出现如下错误,求大侠们帮忙解决
本帖最后由 zhaoshenglili 于 2012-10-29 11:18:03 编辑
BEGIN_MESSAGE_MAP(CvtkDLGDlg, CDialog)
{
//  ON_WM_SYSCOMMAND()
  ON_WM_PAINT()//"1>.\vtkDLGDlg.cpp(84) : error C2078: 初始值设定项太多"   这个错误指向这里
  ON_WM_QUERYDRAGICON()
  //}}AFX_MSG_MAP
  ON_WM_DESTROY()
  ON_WM_SIZE()
  ON_BN_CLICKED(ID_LOADFILE, OnBtnLoadFile)
  ON_BN_CLICKED(ID_RESETSCENE, OnBtnResetScene)//error C2440: “初始化”: 无法从“int”转换为“AFX_PMSG”
END_MESSAGE_MAP()//error C2143: 语法错误 : 缺少“}”(在“;”的前面)
}//error C2059: 语法错误 : “}”; error C2143: 语法错误 : 缺少“;”(在“}”的前面); error C2059: 语法错误 : “}”

// CvtkDLGDlg message handlers

void CvtkDLGDlg::ExecutePipeline()
{//error C2143: 语法错误 : 缺少“;”(在“{”的前面);;error C2447: “{”: 缺少函数标题(是否是老式的形式表?)

------解决方案--------------------
这个结构没注意到有什么问题么?
BEGIN_MESSAGE_MAP(CvtkDLGDlg, CDialog)
{
//  ON_WM_SYSCOMMAND()
  ON_WM_PAINT()
  ON_WM_QUERYDRAGICON()
  //}}AFX_MSG_MAP
  ON_WM_DESTROY()
  ON_WM_SIZE()
  ON_BN_CLICKED(ID_LOADFILE, OnBtnLoadFile)
  ON_BN_CLICKED(ID_RESETSCENE, OnBtnResetScene)
END_MESSAGE_MAP()
}

------解决方案--------------------
除非搞清楚了,消息映射这部分结构不要自己随意添加括号或删减内容。
VC消息映射部分的架构仔细看看:
BEGIN_MESSAGE_MAP(CvtkDLGDlg, CDialog)
//{....这部分不应有这个括号,原本应是这样://{ //{{AFX_MSG_MAP(CvtkDLGDlg)
// ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_DESTROY()
ON_WM_SIZE()
ON_BN_CLICKED(ID_LOADFILE, OnBtnLoadFile)
ON_BN_CLICKED(ID_RESETSCENE, OnBtnResetScene)
END_MESSAGE_MAP()
//}这里这个括号也不需要,应该注释掉的部分