Использование управляющего элемента Menu (Меню)
- Откройте панель инструментов Toolbox, если она до сих пор еще не открыта (щелкните на ярлыке панели инструментов Toolbox в вертикальной линейке) и перетащите управляющий элемент MainMenu (Главное меню) на форму приложения.
- Для создания выпадающего меню File (Файл) с пунктом Exit (Выход), введите File (Файл) и Exit (Выход), как на рис. 6.19.
Рис. 6.19. Использование управляющего элемента Menu (Меню) для добавления в форму меню
- В окне Properties (Свойства) измените названия этих пунктов меню на menuFile и menuExit.
- Дважды щелкните на Exit (Выход), чтобы добавить код в обработчик события File › Exit (Файл › Выход).
- Добавьте в обработчик код, закрывающий приложение.
protected void menuExit_Click (object sender, System.EventArgs e) { Application.Exit(); // Приложение.Выход }
- Скомпонуйте и выполните приложение. Меню должно полностью работать. Полученный проект соответствует проекту, который находится в папке VsForm\Step3.
И снова, вместо того, чтобы переносить каждую строчку кода, созданного на С#, из файла Forml.cpp проекта VsForm\step3 в проект на C++, просто сделайте копию проекта VsFormPort\Step2, созданного ранее с помощью переноса кода. Потом перенесите те несколько строчек кода, которые связаны с новыми функциями меню, из VsForm\Step3.
// VSForm – Step3 _gc class Forml: public System::Windows::Forms::Form { private: // частный float x, у; // с плавающей точкой Brush *pStdBrush; // Кисть System::Windows:: Forms::MainMenu *mainMenul; System::Windows::Forms::MenuItem *menuFile; System::Windows::Forms::MenuItem *menuExit; private: // частный void InitializeComponent() { menuFile = new System::Windows::Forms::MenuItem(); menuExit = new System::Windows::Forms::MenuItem(); mainMenul = new System::Windows::Forms::MainMenu(); // // menuFile // menuFile › Index =0; // Индекс System::Windows::Forms::MenuItem *pltems[] = {menuExit}; menuFile › MenuItems › AddRange(pltems); menuFile › Text = "File"; // menuFile › Текст = "Файл"; // // menuExit // menuExit › Index = 0; // Индекс menuExit › Text = "Exit"; // menuExit › Текст = "Выход"; menuExit › Click += // Щелчок new System::EventHandler (this, menuExit_Click); // // mainMenul // System::Windows::Forms::MenuItem *pMenus[] = {menuFile}; mainMenul › MenuItems › AddRange(pMenus); // // Forml // AutoScaleBaseSize = * _nogc new System::Drawing::Size(5, 13); // Размер ClientsTze = * _nogc new System::Drawing::Size(248, 181); // Размер Menu = mainMenul; } private: // частный void menuExit_Click( Object *sender, System::EventArgs *pe) { Application::Exit(); // Приложение::Выход } };