1. Объявить айдишки меню айтемов
[codebox]enum
{
ID_DMENU1=0x100,
ID_DMENU2,
ID_DMENU3,
ID_DMENU4,
ID_DMENU5,
ID_DMENU6
};[/codebox]
2. Объявить в .h файле необходимые переменные типа CMenu или CMenu* (кому как больше нравится)
[codebox] CMenu m_Popup;
CMenu* p_def_menu;
CMenu* p_menu;
CMenu* pPopupMenu; [/codebox]
3. В .cpp файле в OnInitDialog()
3.1 Выделяем память под указатели
3.2 Юзаем CreateMenu(); и CreatePopupMenu(); для создания меню
3.3 Добавляем пункты меню при помощи AppendMenu
3.4 Устанавливаем меню - SetMenu();
С флагами и параметрами, думаю разберёшься, в МСДНе почитаешь )
[codebox] p_def_menu = new CMenu;
p_def_menu->CreateMenu();
p_menu = new CMenu;
p_menu->CreatePopupMenu();
p_def_menu->AppendMenu(MF_POPUP|MF_STRING,(UINT)p_menu->m_hMenu,"&File");
// POPUP 1
p_menu->AppendMenu(MF_BYCOMMAND|MF_STRING,ID_DMENU1,"&Open");
p_menu->AppendMenu(MF_BYCOMMAND|MF_STRING,ID_DMENU2,"#&2");
p_menu->AppendMenu(MF_SEPARATOR);
// POPUP 2
pPopupMenu = new CMenu;
pPopupMenu->CreatePopupMenu();
p_menu->AppendMenu(MF_POPUP|MF_STRING,(UINT)pPopupMenu->m_hMenu,"#&3");
pPopupMenu->AppendMenu(MF_BYCOMMAND|MF_STRING,ID_DMENU4,"#3-&1");
pPopupMenu->AppendMenu(MF_BYCOMMAND|MF_STRING,ID_DMENU5,"#3-&2");
pPopupMenu->AppendMenu(MF_BYCOMMAND|MF_STRING|MF_GRAYED,ID_DMENU6,"#3-&3");
// Visual Menu
SetMenu( p_def_menu );[/codebox]
Да. Юникод желательно в свойствах проекта отключить