5) Каждая команда пункта меню может содержать вложенные меню. Для пополнения списка вложенных подменю у каждой команды существует свойство SubItems. У этого свойства есть метод Add. В данном фрагменте кода к пункту меню Редактирование шрифта добавляются три подменю – Полужирный, Наклонный и Размер.
6) К подменю Размер добавляются три вложенных подменю – 8, 10 и 12. Подменю 8 помечается звездочкой, чтобы указать текущее значение размера шрифта.
7) Следующая команда меню не имеет ни ключа, ни надписи, потому что во второй строке этого фрагмента кода для нее устанавливается стиль разделителя, и она просто будет отображать горизонтальную полосу в списке команд меню.
8) Добавляется команда Открыть.
9) Добавляется разделитель.
10) Добавляется команда Завершить работу.
11) Добавляется очередная кнопка. Для нее устанавливается стиль разделителя (mbrSeparator). Это значит, что на панели команд эта кнопка будет отображена в виде вертикальной черты.
12) Добавляются еще три кнопки. Для всех трех кнопок задается стиль mbrButtonGroup. Этот стиль объединит кнопки в зависимую группу, и пользователь сможет нажимать только одну кнопку из группы.
13) Работа с меню временно завершена. Теперь нужно установить положение фрейма на форме и очистить список.
14. Еще один фрагмент кода свяжет зависимые кнопки с процедурой установки фонового цвета в приложении. Этот код приведен в листинге 3.14.
Листинг 3.14
Private Sub MenuBar1_ButtonClick(ByVal Button As MenuBarLib.MenuBarButton)
Select Case Button.Key
Case "1"
Label1.BackColor = &H80000005
Label2.BackColor = &H80000005
Label3.BackColor = &H80000005
List1.BackColor = &H80000005
Case "2"
Label1.BackColor = &HC0FFFF
Label2.BackColor = &HC0FFFF
Label3.BackColor = &HC0FFFF
List1.BackColor = &HC0FFFF
Case "3"
Label1.BackColor = &HC0FFC0
Label2.BackColor = &HC0FFC0
Label3.BackColor = &HC0FFC0
List1.BackColor = &HC0FFC0
End Select
End Sub
В обработчик события ButtonClick передается копия объектной переменной Button, по ключу которой (Button.Key) можно понять, на какой кнопке был произведен щелчок. Далее в операторе выбора Select выбирается действие для соответствующей кнопки. В приведенном коде устанавливается фоновый цвет для компонентов, содержащих текст.
15. Еще один фрагмент кода, завершающий работу приложения при выборе команды меню Завершить работу, приведен в листинге 3.15.
Листинг 3.15
Private Sub MenuBar1_MenuClick(ByVal Menu As MenuBarLib.MenuBarMenu)
Select Case Menu.Key
Case «itExit»
App.End
End Select
End Sub
В этом случае на одно событие MenuClick устанавливается оператор выбора Select (к концу работы над проектом он будет достаточно объемным) и по ключу производится выбор выполняемой команды.
16. Нужно снова запустить приложение и проверить работу созданного меню. Нажатие на кнопки должно приводить к изменению цвета в соответствующих компонентах, выбор пункта меню Завершить работу должен приводить к завершению работы приложения. Результат должен выглядеть так, как показано на рис. 3.29.
Рис. 3.29. Созданное меню.
17. Теперь нужно добавить к проекту еще один компонент ActiveX с наименованием Microsoft CE Image List Control. Его следует разместить на форме. Как и компонент MenuBar, компонент ImageList надо инициализировать и использовать программно, так как визуальных настроек у него нет.
18. Прежде чем настраивать ImageList, надо подготовить для него изображения. Для этого нужно в любом графическом редакторе создать три рисунка. Это должны быть рисунки размером 16x16, 256 цветов, с именами white.bmp, yellow.bmp и green.bmp. В центре первого рисунка будет незакрашенный квадрат 14x14 пикселов, в центре второго – квадрат, закрашенный желтым цветом. Третий рисунок должен содержать квадрат с зеленой заливкой.
19. Эти рисунки нужно поместить в каталог проекта и добавить их в проект командой Project ? Add File. В окне, которое будет выведено на экран, нужно выбрать тип файлов All Files (*.*), взвести флажок Add As Related Document, выбрать нужный файл и нажать кнопку ОК. Эту последовательность действий нужно выполнить для каждого рисунка. Добавление файлов к проекту позволит среде автоматически копировать их на устройство и включать в состав поставочного комплекта. После того как файлы будут добавлены к проекту, окно структуры проекта должно выглядеть, как на рис. 3.30.
Рис. 3.30. Окно структуры проекта с файлами изображений.
20. Теперь можно добавить изображения к компоненту ImageList. Для этого в начало метода Form_Load() нужно добавить код, приведенный в листинге 3.16. Листинг 3.16
Dim imLst As ImageList
Set imLst = ImageList1
imLst.Add «\Windows\Start Menu\white.bmp»
imLst.Add «\Windows\Start Menu\yellow.bmp»
imLst.Add «\Windows\Start Menu\green.bmp»
MenuBar1.ImageList = imLst.hImageList
В этом коде создается объектная переменная типа ImageList. Она связывается с компонентом ImageList1, после чего к коллекции рисунков добавляются созданные ранее изображения. Затем остается лишь связать коллекцию рисунков с компонентом MenuBar1. Должен быть указан полный путь к добавляемому рисунку от корневого каталога устройства. Поскольку для проекта в настройках его свойств был задан путь \Windows\Start Menu\, то для изображений нужно добавить этот путь в виде префикса к имени файла.
Читать дальше
Конец ознакомительного отрывка
Купить книгу