KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Владимир Волков - Программирование для карманных компьютеров

Владимир Волков - Программирование для карманных компьютеров

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Владимир Волков, "Программирование для карманных компьютеров" бесплатно, без регистрации.
Перейти на страницу:

Rem 3

Set mnuFile = MenuBarl.Controls.АсШепиС'Файл", «mnuFile»)

Rem 4

mnuFile.Items.Add 1, «itFont», «Редактирование шрифта»

Rem 5

mnuFile.Items.Item(1). SubItems.Add 1, «itBold», «Полужирный»

mnuFile.Items.Item(1). SubItems.Add 2, «itItal», «Наклонный»

mnuFile.Items.Item(1). SubItems.Add 3, «itSize», «Размер»

Rem 6

mnuFile.Items.Item(1). SubItems.Item(3). SubItems.Add 1, В«it8В», В«* 8В»

mnuFile.Items.Item(1). SubItems.Item(3). SubItems.Add 2, В«it10В», В«10В»

mnuFile.Items.Item(1). SubItems.Item(3). SubItems.Add 3, В«it12В», В«12В»

Rem 7

mnuFile.Items.Add 2, "", ""

mnuFile.Items.Item(2). Style = mbrMenuSeparator

Rem 8

mnuFile.Items.Add 3, «itOpen», «Открыть»

Rem 9

mnuFile.Items.Add 5, "", ""

mnuFile.Items.Item(5). Style = mbrMenuSeparator

Rem 10

mnuFile.Items.Add 6, «itExit», «Завершить работу»

Rem 11

Set mnuSep = MenuBar1.Controls.AddButton(В«mnuSepВ»)

mnuSep.Style = mbrSeparator

Rem 12

Set mnuClr1 = MenuBar1.Controls.AddButton("1")

mnuClr1.Style = mbrButtonGroup

mnuClr1.Caption = " 1В»

Set mnuClr2 = MenuBar1.Controls.AddButton("2")

mnuClr2.Style = mbrButtonGroup

mnuClr2.Caption = " 2В»

Set mnuClr3 = MenuBar1.Controls.AddButton("3")

mnuClr3.Style = mbrButtonGroup

mnuClr3.Caption = " 3В»

Rem 13

Frame1.Top = -200

List1.Clear

End Sub

13. Теперь этот листинг надо детально рассмотреть. В качестве ссылок будут использоваться номера комментариев в тексте.

1) Объявляется переменная типа MenuBarMenu. Переменная одна, значит, на панели команд устройства будет один пункт меню.

2) Объявляются переменные типа MenuBarButton. Переменных этого типа четыре, значит, на панели команд устройства будет четыре кнопки.

3) Создается объект типа MenuBarMenu как элемент коллекции. При создании ему присваивается уникальный идентификатор mnuFile, задаем надпись, которая будет отображаться на кнопке меню, и этот объект связывается с переменной mnuFile.

4) Поскольку пункт меню может содержать в себе команды, коллекция команд содержится в свойстве Items. Она может быть пополнена при помощи вызова метода Add, что и происходит в этом фрагменте кода. Добавляются команды меню Файл и Редактирования шрифта. В качестве аргументов метода Add выступает индекс добавляемого элемента (1), уникальный ключ (itFont) и надпись, которая будет выведена в пункт меню – Редактированиешрифта. То, к какой именно команде меню относятся данные действия, определяется индексом, который указывается в скобках после свойства Item.

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 пикселов, в центре второго – квадрат, закрашенный желтым цветом. Третий рисунок должен содержать квадрат с зеленой заливкой.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*