Создать меню динамически
От: Niswn  
Дата: 16.03.07 12:51
Оценка:
Сабж вообще возможен? Если возможен, то как?

Пишу на VS2005 под MFC для Pocket PC 2003.
Пытаюсь создать меню динамически (т.е не используя ресурсов):


   if (!m_menu)
   {
      m_menu = new CMenu;
      m_menu->CreatePopupMenu();
      m_menu->AppendMenu(0, ID_RM_END, "End");
   }

   if (!m_menu_sub)
   {
      m_menu_sub = new CMenu;
      m_menu_sub->CreatePopupMenu();
      m_menu_sub->AppendMenu(0, ID_RM_CMD1, "Menu1");
      m_menu_sub->AppendMenu(0, ID_RM_CMD2, "Menu2");      
      m_menu->AppendMenu(MF_POPUP | MF_STRING, (UINT)m_menu_sub->m_hMenu, "Menu");
   }

   SHMENUBARINFO info;
 
   HWND hwnd = SHFindMenuBar(m_hWnd);
   if (hwnd) DeleteObject(hwnd);

   memset((void*)&info, 0, sizeof(SHMENUBARINFO));
   info.cbSize = sizeof(SHMENUBARINFO);
   info.hwndParent = m_hWnd;
   info.dwFlags = SHCMBF_HMENU;
   info.nToolBarId = (UINT)m_menu->m_hMenu;
   info.hInstRes = ::AfxGetInstanceHandle();
   info.nBmpId = 0;
   info.cBmpImages = 0;
   SHCreateMenuBar(&info);


Никаких ошибок не выдает, но и никакого меню не отображает.
Перепахал весь этот форум, есть подобные сообщения, но они все без ответов.
В инете тоже глухо.
Неужели нельзя обойтись без ресурсов при создании меню?
ICQ: 326084932
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.