我在工具栏上点击某个按钮时从数据库中读出相应数据并生成菜单显示出来.
但如何响应这些动态生成的菜单在用户选择后的消息啊.

解决方案 »

  1.   

    总的来说可以相应WM_COMMAND消息啊,自己加的菜单 ID总要知道吧。如果是弹出菜单,就可以简单得用:
    DWORD dwRet=TrackPopupMenuEx()//该函数等你按下再返回,具体看MSDN吧,说也说不清
    if (dwRet)
    {
    ......
    }
      

  2.   

    各位老大
    我说的问题就是在于菜单是从数据表中读数据出来后生成的
    没有ID,所以没有办法根据ID号来做相应.
    我想可不可以用菜单项的字符串来做响应,因为可以控制数据表中的菜单名一项唯一.
      

  3.   

    reserve some id for your dynamic menu items.for example,define id in resource.h#define ID_CUSTOM_MENU_FIRST   0x1000
    #define ID_CUSTOM_MENU_LAST    0x2000Insert menu item 
    ...Insert(.....ID_CUSTOM_MENU+nOffset).Handle msgON_COMMAND_RANGE(ID_CUSTOM_MENU_FIRST,ID_CUSTOM_MENU_LAST,...)
    manage id with a given record from database.