Как создавать меню в Express Edition 2008?

  • Автор темы Diamant
  • Дата начала
D

Diamant

Подскажите как в Visual C++ 2008 Express Edition создавать меню для окон? В книжке по WinAPI, которую я сейчас изучаю, описывается как это делается при помощи редактора меню встроенного в Visual С++ 6.0. В 2008 Express редактор меню я не нашел. В списке команд Toolbars есть команда New Menu, но при добавлении её в панель, она не активна. И вообще, как создавать меню, или другие ресурсы, при отсутствии соответствующего редактора?
 
@

@LE}{@NDER

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]

Да. Юникод желательно в свойствах проекта отключить :rolleyes:
 
S

scs

ответ лежит на cbum.hut1.ru
он только открылся
там же будут статьи по доступу к 1С из С++
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!