18+
реклама
18+
Бургер менюБургер меню

Владимир Волков – Программирование для карманных компьютеров (страница 16)

18

Рис. 3.28. Дизайн программы.

8. Чтобы фрейм, который имеет размер больший, чем размер экрана, можно было прокручивать при помощи вертикальной полосы прокрутки, нужно написать обработчик события Change для компонента VScroll. Код этого обработчика приведен в листинге 3.12.

Private Sub VScroll1_Change()

Frame1.Top = -200 – VScroll1.Value

End Sub

Теперь можно запустить проект в эмуляторе и посмотреть, как при помощи полосы вертикального скроллинга происходит прокрутка экрана. Граничные значения свойства Value равны тому значению, на которое надо будет сдвигать фрейм в окне, и поэтому обработчик события получился простым. Начальное значение -200 нужно для того, чтобы край фрейма не отображался на форме и не портил общий внешний вид приложения.

9. Чтобы создать в приложении основное меню, необходимо сначала подключить к приложению соответствующую библиотеку. Для этого надо выполнить команду Project ► Components и установить флажок напротив компонента Microsoft Pocket PC MenuBar Control. Следует также задать настройки для автоматической регистрации компонента на устройстве при помощи команды Project ► Project Properties|Update Components ► Always|Component to Updates ► Project Components.

10. После того как библиотека будет добавлена к проекту, соответствующий значок появится на палитре компонентов, и компонент MenuBar можно будет поместить на форму. Для свойства NewButton нужно установить значение false. Запуск проекта в таком состоянии не покажет никаких изменений. Чтобы меню отобразилось на форме, необходимо настроить и создать объекты, соответствующие тому, что должно отображаться на форме. Это делается программным путем в обработчике события Form_Load().

11. Прежде чем писать обработчик события, нужно разобраться с компонентом MenuBar. Сам компонент представляет собой коллекцию команд меню (объект MenuBarMenu) и кнопок (объекты MenuBarButton), которая создается и отображается на нижней панели экрана Pocket PC. Кроме свойств объекта MenuBar, которые отображены в инспекторе, есть еще свойство Collection, содержащее индексированную коллекцию меню и кнопок, и свойство ImageList, содержащее ссылку на коллекцию изображений, которые будут отображаться на кнопках. События ButtonClick, MenuClick и NewClick предназначены для обработки событий щелчка на кнопках, пунктах меню и кнопки New соответственно.

Добавление компонентов к коллекции производится при помощи методов AddButton и AddMenu объекта Collection. Доступ к элементам коллекции может производиться как по индексу, так и по символьному ключу, который задается для каждого элемента коллекции в момент его создания.

12. Добавить к коду приложения обработчик события Form_Load(). Код обработчика приведен в листинге 3.13. В него добавлены комментарии, которые можно не вводить в код приложения. Они потребуются лишь для удобства рассмотрения этого фрагмента.

Rem 1

Dim mnuFile As MenuBarMenu

Rem 2

Dim mnuSep, mnuClrl, mnuClr2, mnuClr3 As MenuBarButtor

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. Переменная одна, значит, на панели команд устройства будет один пункт меню.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.