Новая статья: Графические интерфейсы II: Элемент "Главное меню" (Глава 4)

 

На сайте mql5.com опубликована статья Графические интерфейсы II: Элемент "Главное меню" (Глава 4):

Это завершающая глава второй части серии о графических интерфейсах. В ней мы рассмотрим создание такого элемента управления, как «Главное меню». Будет продемонстрирован процесс его разработки и настройка обработчиков классов библиотеки для правильной реакции на действия пользователя. Также мы рассмотрим, как подключить к пунктам главного меню контекстные меню. Кроме того, мы затронем тему блокировки неактивных на текущий момент элементов.

Разработка класса для создания главного меню

До этого, в предыдущих трёх главах, были разработаны классы для создания всех элементов, из которых можно построить главное меню программы. Итак, у нас есть следующие классы:

  • CMenuItem – пункт-меню.
  • CSeparateLine – разделительная линия.
  • CContextMenu – контекстное меню.

В директории, где находятся файлы всех элементов, в папке Controls создадим файл MenuBar.mqh. Подключим к нему файл с базовым классом, файл с классом формы и файлы всех составных элементов, из которых он должен собираться:

//+------------------------------------------------------------------+
//|                                                      MenuBar.mqh |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#include "Element.mqh"
#include "Window.mqh"
#include "MenuItem.mqh"
#include "ContextMenu.mqh"

Основными объектами главного меню являются фон и пункты меню. А вот контекстные меню будут уже присоединяться к пунктам главного меню через указатели.

Рис. 1. Основные части главного меню.

Рис. 1. Основные части главного меню.