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

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

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

Компонент MenuBar

Этот компонент предназначен для создания основного меню в программах для Pocket PC.

При помещении на форму данный компонент может сбить с толку тех, кто привык к визуальному дизайну. Выглядит он бедненько, и никаких средств настройки в инспекторе объектов обнаружить нельзя. В режиме дизайна компонент похож на кнопку, а не на меню. Тем не менее этот компонент позволяет создавать полнофункциональное основное меню.

Свойство Enabled позволяет делать меню недоступным РІ С…РѕРґРµ выполнения приложения. Для этого достаточно лишь установить для свойства значение false. Если для свойства NewButton задать значение true, то РЅР° полосе меню появится новая РєРЅРѕРїРєР° СЃ именем New. Рспользование этих свойств обсуждается РІ следующем упражнении.

Упражнение 3.6

1. Создать новый проект с формой и сохранить его в папке EnPhrase с именем EnPhrase.ebp.

2. Установить для свойства формы Caption значение Учим английские фразы, а значение свойства Height нужно сделать равным 7050. Такая длинная форма нужна для того, чтобы посмотреть, как работает компонент VScrollBar.

3. Добавить к проекту компонент Frame. Значения его свойств приведены в таблице 3.7.

Таблица 3.7. Свойства компонента Frame

4. Добавить к проекту три компонента Label. Значения свойств этих компонентов приведены в табл. 3.8.

Таблица 3.8. Значения свойств компонентов Label1, Label2 и Label3

5. Добавить к проекту четыре компонента CommandButton. Значения свойств этих компонентов приведены в табл. 3.9.

Таблица 3.9. Значения свойств компонентов Command1, Command2, Command3 и Command4

6. Добавить к проекту компонент ListBox. Значения свойств этого компонента приведены в табл. 3.10.

Таблица 3.10. Значения свойств компонента ListBox

7. В первом приближении дизайн программы завершен. В дизайнере форм он будет выглядеть так, как это показано на рис. 3.28.

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

8. Чтобы фрейм, который имеет размер больший, чем размер экрана, можно было прокручивать при помощи вертикальной полосы прокрутки, нужно написать обработчик события Change для компонента VScroll. Код этого обработчика приведен в листинге 3.12. Листинг 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. В него добавлены комментарии, которые можно не вводить в код приложения. Они потребуются лишь для удобства рассмотрения этого фрагмента.

Листинг 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», «Полужирный»

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