Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006

Вид материалаУчебное пособие

Содержание


2.9. Создание графического интерфейса приложения
2.9.1. Основное меню
2.9.2. Контекстное меню
2.9.3. Список изображений
2.9.4. Панель инструментов
Toolbar (Панель инструментов) обычно размещается в верхней части формы –
2.9.5. Строка состояния
Panels имеет свойства item, count
2.9.6. Обработка событий панели инструментов
2.9.7. Обработка событий меню
Private Sub mnuVSBar_Click()
Подобный материал:
1   2   3   4   5   6   7   8   9   10

2.9. Создание графического интерфейса приложения


При создании графического интерфейса приложения возможно использование следующих компонентов: StatusBar, Toolbar и ImageList.

2.9.1. Основное меню


Меню создается и редактируется при помощи Menu Editor (Редактор меню). Для создания меню надо сделать форму активной и выбрать команду меню Tools, Menu Editor или нажать кнопку Menu Editor на панели инструментов. В результате на экране отобразится диалоговое окно Menu Editor (рис. 2.33).





Рис. 2.33. Редактор меню


По своей структуре меню состоит из заголовков меню верхнего и нижних уровней (до пяти уровней) и команд меню:
  • заголовки меню верхнего уровня располагаются в крайней левой позиции;
  • команды меню смещаются вправо на одну позицию от их заголовка меню.

Элементы меню имеют набор свойств, например:
  • Caption – название пункта меню;
  • Name – имя пункта меню;
  • Index – номер элемента массива команд меню.
  • Shortcut – комбинация клавиш для быстрого вызова команды меню с клавиатуры;
  • поле HelpContextID для создания идентификатора контекстно-зависимой справки;
  • флажок Checked для создания маркированных пунктов меню;
  • флажок Enabled для блокировки пунктов меню;
  • флажок Visible для визуализации пунктов меню;
  • флажок WindowList, используемый при создании меню MDI-форм;

Пункт меню, свойство caption которого равно дефису (-), отображается как разделитель. Разделитель служит для визуальной группировки пунктов меню.

В имени пунктов меню допустимо использовать амперсанд (&) перед буквой, которая будет Alt - буквой для доступа к этому пункту меню с клавиатуры.

2.9.2. Контекстное меню


Контекстное меню содержит команды, доступные для объекта в момент нажатия правой кнопки мыши. Создается контекстное меню в редакторе меню, в виде заголовка верхнего уровня, например mnuСontext и команд меню. Чтобы команды контекстного меню не появлялись - в основном меню установите его свойство Visible=False. Для отображения контекстного меню в событии object_MouseUp используется метод popupMenu. Синтаксис:


object.PopupMenu mnuСontext, flags, x, у, boldcommand


Таблица 2.37

Параметр

Описание

object

Если параметр опущен, то подразумевается текущая форма

mnuСontext

Имя меню, отображаемое как контекстное

Flags

Определяет местоположение и поведение контекстного меню. Значение параметра Flags = 0 - контекстное меню отображается при щелчке левой кнопкой мыши, координата х определяет левый край контекстного меню. Подробнее см. справку по Visual Basic

x, у

Координаты окна, в котором отображается контекстное меню. Если эти параметры опущены, то используются текущие координаты указателя мыши

boldcommand

Имя команды контекстного меню, выделенное полужирным шрифтом

2.9.3. Список изображений


Для размещения изображений на кнопках панели инструментов предназначен компонент ImageList (Список изображений). Чтобы добавить компонент на панель инструментов General выполните команду меню Project, Components, вкладка Controls и выберите Microsoft Windows Common Controls 6.0.

Компонент ImageList может хранить как растровые изображения, так и значки. Ссылка на конкретное хранящееся изображение осуществляется либо при помощи индекса, либо при помощи свойства Key.

Наполнение объекта ImageList рисунками можно делать на этапе конструирования, выбрав его свойство Custom. В появившемся диалоговом окне Property Pages на вкладке Images (рис. 2.34), нажимайте InsertPicture и выбирайте файлы рисунков.





Рис. 2.34. Свойства компонента ImageList

2.9.4. Панель инструментов


Панели инструментов содержат кнопки для выполнения команд, и как правило, дублируют наиболее часто используемые команды меню. Панель инструментов создается при помощи двух элементов управления: Toolbar и ImageList.

Объект Toolbar (Панель инструментов) обычно размещается в верхней части формысвойство Align =VbAlignTop и наполняется кнопками (коллекция Buttons), свойство Style, которых может иметь значение:
  • tbrDefauit – обычная кнопка, используется по умолчанию;
  • tbrСheck – кнопка-флажок;
  • tbrButtonGroup – кнопка принадлежит к группе;
  • tbrSeparator – кнопка-разделитель, шириной 8 пикселей;
  • tbrPlaceHolder – кнопка-разделитель с переменной шириной;
  • tbrDropdown – кнопка с раскрывающимся списком.


Кроме того кнопки имеют свойства:
  • Key – имя кнопки,
  • Value – состояние кнопки,
  • Index – номер кнопки на панели Toolbar,
  • Image – номер рисунка (Index)или его имя (Key) из списка изображений ImageList.

Наполнение объекта Toolbar кнопками можно делать на этапе конструирования, выбрав его свойство Custom. В появившемся диалоговом окне Property Pages на вкладке General (рис. 2.35), выберите имя объекта-источника ImageList.

На вкладке Buttons нажмите InsertButton для добавления новой кнопки и введите значение в поле Image в соответствие с номером изображения в объекте ImageList





Рис. 2.35. Свойства компонента Toolbar

2.9.5. Строка состояния


StatusBar (Строка состояния) представляет собой строку, как правило, располагаемую в нижней части формы, в которую выводится текущее состояние приложения. Строка состояния может быть разделена на несколько частей (панелей), каждая из которых может содержать текст или рисунок.


Таблица 2.38

Свойство

Возвращает или устанавливает

Panels

семейство панелей

Style

стиль: sbrNormal или 0 – отображаются все панели;

sbrSimple или 1 – отображается только наибольшая панель

SimpleText

текст, отображаемый в панели, если свойство Style = sbrSimple


Семейство Panels имеет свойства item, count и методы Add и Remove, общие для всех семейств, а также специфичные.

Таблица 2.39

Свойство

Возвращает или устанавливает

style

стиль отображаемой в панели информации. Допустимые значения:

sbrText или 0 – отображает текст или растровое изображение;

sbrCaps или 1 – отображает режим Caps Lock надписью CAPS;

sbrNum или 2 – отображает режим Num Lock надписью NUM;

sbrIns или 3 – отображает режим lnsert надписью INS;

sbrScrl или 4 – отображает режим Scroll Lock надписью SCRL;

sbrTime или 5 – отображает текущее время;

sbrDate или 6 – отображает текущую дату

Bevel

вид панели: sbrNoBevel или 0 – стандартная панель; sbrlnset или 1 – вдавленная панель; sbrRaised или 2 – выпуклая панель

Alignment

выравнивание текста: sbrLeft или 0 – по левому краю; sbrCenter или 1 – по центру; sbrRight или 2 – по правому краю

AutoSize

ширину панели после изменения размеров формы. Допустимые значения:

sbrNoAutoSize или 0 – ширина панелей не изменяется;

sbrSpring или 1 – ширина панелей изменяется пропорционально исходным;

sbrContents или 2 – ширина панелей изменяется так, чтобы помещалась надпись

width

ширину панели


Наполнение объекта StatusBar можно делать на этапе конструирования, выбрав его свойство Custom. В появившемся диалоговом окне Property Pages на вкладке General (рис. 2.36), выберите стиль строки состояния sbrNormal или sbrSimple.

На вкладке Panels нажмите InsertPanel для добавления новой панели, выберите значение в поле Style и в др. полях.





Рис. 2.36. Свойства компонента StatusBar

2.9.6. Обработка событий панели инструментов


Чтобы получить заготовку для набора кода, выполните двойной щелчок на панели инструментов. Если кнопки панели инструментов дублируют команды меню, то необходимо связать соответствующие события, например:


Private Sub ToolBar1_ButtonClick(ByVal Button As _
MSComctlLib.Button)


On Error Resume Next

Select Case Button.Key

Case "New": mnuFNew_Click

Case "Open": mnuFOpen_Click

Case "Save": mnuFSave_Click

End Select

End Sub

2.9.7. Обработка событий меню


Все пункты и команды меню имеют одно событие – Click. Чтобы получить заготовку для набора кода – щелкните по команде меню. Некоторые пункты меню могут иметь свойство Checked (рис. 2.37), в этом случае, в событии Click необходимо программно изменять значение свойства на противоположное, например:


Private Sub mnuVSBar_Click()

mnuVSBar.Checked = Not mnuVSBar.Checked

End Sub


Private Sub mnuVTbar_Click()

mnuVTbar.Checked = Not mnuVTbar.Checked

End Sub




Рис. 2.37. Команды меню с флажками