由于系统中的最终用户界面没有确定,所以希望作成如下形式在配置文件中,将所有要加载的菜单选项列出(便于修改),由程序读入,动态加载到系统中。可以实现吗?
这样做后的消息如何处理比较好?大虾小虾们发表的看法。
先谢谢了。

解决方案 »

  1.   

    应该可以把,用CMenu这个类是可以自己编辑菜单的,结合你的配置文件应无问题,因为没做过,所以不确定
      

  2.   

    应该可以的,FlashGet的多语种就是这么实现的
      

  3.   

    完全可以的:
    CMenu* pMenu = pWnd->GetMenu();
    CMenu* pSubMenu;
    if( pMenu )
      pSubMenu = pMenu->GetSubMenu( 0... );
    if( pSubMenu )
    {
       pSubMenu->AppendMenu( ... );
       pSubMenu->AppendMenu( ... );
       pWnd->DrawMenuBar();
    }
      

  4.   

    或不需要用deleteMenu(),其它同上
      

  5.   

    你的菜单处理程序当然需要在运行以前就应该全部在程序中处理,
    只不过用户只是需要你当前显示的菜单项的功能罢了!
    用AppendMenu()函数结合deleteMenu(),在配置文件中的菜单最好
    按分组书写排列。
      

  6.   

    To  xlander(阿富):我看了FlashGet ,它的好象只是换换界面内容而已,而我是希望在程序的资源里没有菜单的内容,而是由配置文件处理所有菜单信息.
      

  7.   

    up.用菜单的API函数不能办到吗?
      

  8.   

    To  wwwllg(wwwllg):真是太感谢了!
    [email protected]
      

  9.   

    wwwllg(wwwllg),你好,给我发个源码吧,
    //bow
    [email protected]
      

  10.   

    我也要~~谢谢!!
    [email protected]
      

  11.   

    完全可以的:
    CMenu* pMenu = pWnd->GetMenu();
    CMenu* pSubMenu;
    if( pMenu )
      pSubMenu = pMenu->GetSubMenu( 0... );
    if( pSubMenu )
    {
       pSubMenu->AppendMenu( ... );
       pSubMenu->AppendMenu( ... );
       pWnd->DrawMenuBar();
    }如 jmcooler() (  ) 所说的完全可以。