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

Тема в разделе "MS Visual C++", создана пользователем Diamant, 18 фев 2009.

  1. Diamant

    Diamant Гость

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

    @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:
     
  3. scs

    scs Гость

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

Поделиться этой страницей