遇到一个奇怪的问题,别人留下的代码,编译执行都没问题,我想为对话框中的listctrl控件添加一个消息映射,但不管是在classview中用add windows message hander,还是在对话框资源中按ctrl+w,都报parsing error:Illegal line encountered.  Input Line :"ON_MESSAGE(WM_XXXXX,Onyyy)" 这样的错误,在弹出的classwiazrd 对话框中的Message Maps页中原来添加的object ID、Messages等都没有列出来。此处的WM_XXXXX是用sendmessage发出的消息。查看了一下原来的代码,唯一值得怀疑的是有另外一个消息也调用了同一个处理函数,不过这好象不会造成这样的错误。把临时文件和ncb文件删掉也不管用。有谁遇到这种情况的吗?

解决方案 »

  1.   

    把代码用QQ发给我吧
    联系方式见: www.vcshare.net
      

  2.   

    有种可能,以前遇见过
    比如在程序中添加了
    ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipText)
    ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)
    程序中就不能用类向导,需要先把这些删掉才行,类向导之后再添上
      

  3.   

    我就讨厌6.0的向导,得根据什么注释来,烦!是不是将BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间的注释删除了哟?
      

  4.   

    将那行移到ClassWizzard标识注释的外面试试
      

  5.   

    试试1.关闭工程
    2.删除工程下.clw .ncb 文件及\debug目录,
    3.Rebuild All
      

  6.   

    感谢各位
    问题就是 zhaogaojian(米柑年成) 所说的那样,两个消息用了同一个处理函数,就无法用向导添加了,注释掉其中一个就行了。现在结帖。