在工程里insert了一个菜单资源IDR_MENUSEARCH,
在SDI的MainFrame里生成一个dialogBar,在dialogBar里生成一个CStatic的派生类
CStaticEx的的对象m_pStaticEx,
在CStatic里LoadMenu(IDR_MENUSEARCH),
出现错误:
rror C2065: 'IDR_MENUSEARCH' : undeclared identifier咋回事呢?

解决方案 »

  1.   

    IDR_MENUSEARCH 没定义
    IDR_MENUSEARCH 是不是和你要加载的ID号呀
      

  2.   

    明明定义了的,我在资源文件和资源文件夹里都可以看到~~~~~~~~
    dialogBar里LoadMenu(IDR_MENUSEARCH);没错的
    怀疑是dialogBar的子窗口看不到IDR_MENUSEARCH的定义
      

  3.   

    应该不会吧,那看看在其他类中可以吗
    那你是不是这样加载的呢
    CMenu  menu ;
    menu.LoadMenu(IDR_MENUSEARCH);
      

  4.   

    是的,我还试过
    CMenu  *pmenu ;
    pmenu=new CMenu;
    pmenu.LoadMenu(IDR_MENUSEARCH);
      

  5.   

    有点郁闷啊,dialogBar中可以,dialogBar的子窗口CStaticEx就不可以
    会不会是CStatic自身限制了不能LoadMenu?貌似不可能吧
      

  6.   

    再检查一下继承的时候,它的基类是不是主窗口的CStatic类
      

  7.   

    主窗口的CStatic类,这是什么意思?
    基类是CStatic没错,不过CStatic类不能说是哪个窗口的吧?
      

  8.   

    你这个CStaticEx类文件包含了资源头文件吗?比如resource.h或者*app.h。
      

  9.   

    CMenu menu;
    menu.LoadMenu(IDR_MENUSEARCH); //读取资源
    menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, point.x, point.y, this);