我往那个状态栏数组中加入了一项:ID_INDICATOR_COOR,然后在相应的字符串表里面加入了其描述,我是紧接着ID_INDICATOR_REC后面加的,ID值为59142,编译后状态栏上不能显示文字,位置是空出来了,通过代码改变的文本好像也却是改变了(我是用相应的读取字符GetPaneText获取的),但就是不能显示,当我把他的ID改成整个串表最后一项后61446后就可以了,或者前面的值128之类的也可以,请问这是什么原因

解决方案 »

  1.   

    #defined IDM_OPEN_TREE 15446
    这是给编译器设计的消息机制,如果你为该控件绑定了一个变量后,又更改了他的ID的话,那你可就要小心了
    因为你前后更改的两个控件ID,编译器会采用最后一个,而前一个会留在编译器中.所以你执行,就会出错.
    好比  你手中有2本  起初语文书在上边,数学书在下边. 老师说把数学打开到37页.反正说了这么多 我打字也很累  你多看几便我跟你说的就明白了
      

  2.   

    我的意思是说我一开始就想跟系统的定义保持一致,所以仅接着系统预先定义好的ID_INDICATOR_REC后面加了一个ID,结果在状态栏中不显示文本,位置是留出来了, 但如果我不改而是重新建了一个工程,这次的ID不要加在那块,结果就能显示.我想知道这到底是什么原因.
      

  3.   

    可能是ID冲突吧 
    你这样 你在程序cpp里面搜你用的那个idd 看是不是还有一个也在使用!!!
      

  4.   

    不要和系统的ID冲突(有特殊含义的),不要和已经有的起冲突,ID大小不要溢出(应该没有人犯这种错误吧~-~)