Сабж вообще возможен? Если возможен, то как?
Пишу на 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);
Никаких ошибок не выдает, но и никакого меню не отображает.
Перепахал весь этот форум, есть подобные сообщения, но они все без ответов.
В инете тоже глухо.
Неужели нельзя обойтись без ресурсов при создании меню?