Студопедия — Формы: свойства, методы, обработка событий
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Формы: свойства, методы, обработка событий






Все объекты, которые пользователь видит на экране при работе программ, – визуальные компоненты. Внешний вид и функции визуальных компонентов настраиваются путем изменения свойств, методов и кода процедур обработки событий. Модули кода для взаимодействия с визуальными компонентами – программные компоненты. Основные визуальные компоненты программ – формы – контейнеры, содержащие различные элементы управления (кнопки, флажки, переключатели, списки и др.).

Добавление формы в проект VB производится командой оболочки VB: Insert (Вставка) > User Form (Пользовательская форма). Пустая форма состоит из: строки заголовка, кнопки закрытия окна формы, а также рабочей области.

Весь программный код, относящийся к объектам одной формы, хранится в одном программном модуле, относящимся к форме (этот код можно открывать на редактирование контекстной командой View Code (Посмотреть код)).

Для каждого типа объектов VB предусмотрен свой набор свойств. Во время выполнения программы характеристики объектов изменяются путем изменения свойств. В режиме разработки при редактировании и форматировании объектов автоматически изменяются и значения свойств.

Управлять значением свойств объектов можно с помощью окна Properties (View > Properties Window) или используя имена свойств в коде VB.

Некоторые свойства являются общими для большинства объектов: Name, Left, Top, Height, Width.

Положение формы на экране зависит от значения свойств Left (расстояние от левого края экрана в твипах) и Тор (расстояние от верхнего края экрана), а размеры – от значения свойств Width и Height. Свойства Left и Top устанавливаются относительно объекта-контейнера (экрана для формы, формы для элемента управления). Для изменения положения объекта можно использовать методы или свойства.

MyObj.Left = 100

' Задание расстояния в 100 точек от верхнего левого угла

' объекта MyObj до левой границы объекта, содержащего MyObj

MyObj.Top = 200

' Задание расстояния в 200 точек от верхнего левого угла

' объекта MyObj до верхней границы объекта, содержащего MyObj

или

MyObj.Move 100, 200

Текст, отображаемый в строке заголовка формы, является значением свойства Caption. Свойство Font позволяет выбрать тип, размер и стиль шрифта текста.

MyObj.Font.Size = 10

Свойство StartupPosition влияет на начальное положение формы на экране, которое она занимает при запуске приложения.

Свойство Name служит для присвоения объекту уникального идентификатора, по которому к объекту можно обратиться из программы. Все формы проекта должны иметь разные имена. Однако имена элементов управления должны быть уникальны только в пределах той формы, в которой они находятся.

С помощью оператора Load форму можно загрузить в память, однако при этом на экране она не отобразится.

Load MyForm ' Загрузка в память формы по имени MyForm

Данный оператор позволяет загрузить форму (MyForm) в память явным образом. При обращении к свойству, методу или любому элементу управления формы последняя будет загружена в память автоматически, т.е. неявным образом. Для форм предусмотрено специальное событие Form_Load, обработчик которого будет вызван сразу после загрузки формы в память.

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

MyForm.Show 'Отображение (и загрузка) формы MyForm на экране

Убрать форму с экрана можно двумя способами. Один из них – воспользоваться методом Hide.

MyForm.Hide ' Скрытие формы MyForm

Данный метод просто удаляет форму с экрана, но не выгружает ее из памяти. Когда работа с формой закончена и информация, которая находится в ее элементах управления, будет больше не нужна, форму можно убрать с экрана и удалить из памяти одной командой – Unload.

Unload MyForm ' Скрытие формы MyForm и удаление ее из памяти

Если Unload используется для выгрузки текущей формы, то вместо имени формы к нему следует добавить Me.

Объекты могут реагировать на события, возникающие в результате каких-либо действий пользователя или генерируемых операционной системой. Например, после щелчка мышью на кнопке возникает событие Click, поступающее от объекта типа CommandButton (кнопка).

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

Например, при отображении формы на экране возникает событие Activate (Активация) для данной формы и для данного события можно записать обработчик.

Private Sub MyForm_Activate()

' Описание процедуры, выполняемой при активации (Activate)

' формы MyForm

MyForm.BackColor = vbGreen

' Установка для формы MyForm фонового цвета (BackColor) –

' зеленый (vbGreen)

End Sub

Для обеспечения функциональных возможностей формы снабжаются элементами управления – объектами, выполняющими определенные функции. Как и у форм у элементов управления существует набор свойств, методов и событий. В поставку VB входит базовый набор элементов управления: View (Вид) > ToolBox (Панель элементов).

Все элементы управления обладают двумя важными свойствами: Visible и Enabled. Свойство Visible определяет, будет ли объект виден (True/False) на экране, а от свойства Enabled зависит, сможет ли пользователь работать с данным элементом управления.

MyObj.Visible=False ' Объект MyObj

Далее коротко рассмотрим приемы работы с различными элементами управления.

Надпись (Label)

Основным назначением элементов управления типа Label является отображение текста на форме с помощью свойства Caption.

Для Label предусмотрен определенный набор свойств (Font, Alignment (выравнивание), ForColor и BackColor (цвет текста и фона), Appearance (стиль)) и событий (щелчки мыши, наведение указателя), позволяющий управлять элементом с помощью программного кода.

Максимальный размер текста в надписи не должен превышать 65528 символов. Когда свойство AutoSize равно False, размер поля не зависит от значения свойства Caption и остается постоянным. Если размер надписи не достаточен для отображения всего текста, часть текста, выходящая за границы поля, не отображается. Если значение свойства AutoSize равно True, размеры надписи будут автоматически подстраиваться под длину текста.

Если значение Wordwrap = False, размеры надписи будут увеличиваться только по горизонтали, пока весь текст не будет виден на экране. Если свойство Wordwrap = True, размеры надписи будут увеличиваться по вертикали так, чтобы был виден весь текст. При этом будет происходить автоматический перенос слов на новую строку.

Пример программной работы с надписью:

Dim t1 As String ' Объявление строковой переменной t1

Label1.Caption="Пример"

' Запись текста "Пример" в надпись Label с помощью

' ее свойства Caption

t1=Label1.Caption

' Считывание текста из надписи Label1 в переменную t1

Поле ввода (TextBox)

TextBox позволяет отредактировать помещенный в него текст или ввести новый. Для ограничения количества вводимых символов используется свойство MaxLength.

Свойство MultiLine определяет, будет ли текст находиться в одной строке, или он будет переноситься по словам на несколько строк. Если значение свойства MultiLine равно True, текст будет переноситься по словам на несколько строк. Чтобы перейти на новую строку при вводе текста нужно нажать Shift+Enter. Свойство ScrollBar определяет отображение полос прокрутки и их тип.

Для TextBox существуют такие события, как Change (при каждом действии редактирования в поле), Enter/Exit (при получении (потере) фокуса TextBox-м при нажатии Tab в форме).

Программное считывание данных из поля ввода производится с помощью свойства Text:

MsgBox TextBox1.Text

' Отображение текста, содержащегося (введенного)

' в поле ввода TextBox1

Кнопка (CommandButton)

CommandButton предназначен для инициирования пользователем некоторых действий, которые начинают происходить после щелчка на нем кнопкой мыши. Порядок использования CommandButton:

1) добавить CommandButton в форму из Toolbox,

2) присвоить свойству Name имя кнопки, а свойству Caption – текст (для подписи),

3) поместить программный код, выполняющий нужные действия, в процедуру обработки события Click, создать которую можно, выполнив на кнопке контекстную команду View Code (Смотреть программный код).

В приведенном случае действия по нажатию (Click-у) на кнопку CommandButton1 заключаются в выводе на экран сообщения со словом "Спасибо".

Флажок (СheckBox)

CheckBox используются для отображения в форме логических значений (True или False). Когда флажок находится "во включенном состоянии", на нем изображена галочка, в этом случаем его значение будет равно True (Истина). Считывание (и запись) значения из (в) CheckBox производится с помощью его свойства Value. На практике значение, которое принял CheckBox, анализируется в программе и в зависимости от результата анализа выполняются различные действия.

Private Sub CommandButton1_Click()

' Процедура обработки щелчка по кнопке

If CheckBox1.Value = True Then

' Проверка, установлен ли флажок CheckBox1

MsgBox "Флажок установлен"

' Действия (вывод сообщения), если флажок установлен

Else

MsgBox "Флажок НЕ установлен"

' Действия (вывод сообщения), если флажок не установлен

End If

End Sub

Переключатель (OptionButton)

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

Для переключателей, флажков и кнопок генерируются и обрабатываются события: щелчки и наведения мыши, Change, Enter, Exit и др.

Использование OptionButton также как и CheckBox основано на чтении свойства Value (Значение) этого элемента управления. У выбранного пользователем в форме OptionButton значение Value равно True (Истина), а у всех остальных одногруппных с ним OptionButton это свойство будет равно False (Ложь).

Список (ListBox)

ListBox используется для предоставления пользователю возможности выбора одного элемента из представленных в списке.

Основные элементы списка: Список элементов для выбора, Выбранный элемент, Полоса прокрутки. Формирование списка происходит на этапе разработки программы либо самой программой во время ее выполнения.

Для наполнения списка новыми элементами используют метод Addltem при загрузке формы или действии с элементом управления.

MyColorList.AddItem "зеленый"

' Добавление элемента в виде слова "зеленый" в список

' по имени MyColorList

Для очистки списка от его содержимого существует метод Clear.

К элементу списка можно обратиться с помощью свойства List, используя следующий синтаксис:

<имя ListBox>.List(<индекс>)

Нумерация индексов списка ведется с 0, т.е. второй элемент списка имеет индекс 1.

Cвойство ListCount возвращает количество элементов списка; свойство Listlndex содержит номер выбранного элемента списка.

Значение текущего элемента списка можно получить, используя свойство Value.

Для удаления элемента из списка используют метод RemoveItem. В качестве параметра методу нужно передать индекс элемента списка. Синтаксис удаления элемента списка следующий:

<имя ListBox>.RemoveItem(<индекс>)

Пример использования ListBox:

Private Sub UserForm_Activate()

' Описание процедуры, выполняющейся при активации (Activate)

' формы UserForm, содержащей список и кнопку

ListBox1.AddItem "красный"

' Добавление в элемент управления список ListBox1 первого

' элемента (с индексом 0) – слова "красный"

ListBox1.AddItem "желтый"

ListBox1.AddItem "зеленый"

End Sub

Private Sub CommandButton1_Click()

' Описание процедуры, выполняемой при щелчке (Click)

' на кнопке CommandButton1

MsgBox ListBox1.List(ListBox1.ListIndex)

' Отображение возвращаемого методом List выбранного

' элемента списка, по его индексу (ListBox1.ListIndex)

End Sub

Полоса прокрутки (ScrollBar)

Полосы прокрутки используются для установки параметра, значение которого может меняться в некотором диапазоне – от минимума до максимума. ScrollBar можно использовать для отображения и ввода чисел. Перед использованием ScrollBar необходимо определить (программно или с использованием окна Properties) диапазон вводимых чисел, установив значения свойств Min и Мах (целые числа). Дальнейшая работа заключается в чтении и установке свойства Value объекта ScrollBar. При изменении значения свойства Value, описываемого ScrollBar, автоматически возникает событие Change, обработку которого можно выполнять программно. Пример использования ScrollBar:

Private Sub CommandButton1_Click()

' Описание процедуры, выполняемой при щелчке (Click)

' на кнопке CommandButton1

MsgBox ScrollBar1.Value

' Отображение значения (Value) из полосы прокрутки (ScrollBar1)

End Sub

Private Sub ScrollBar1_Change()

' Описание процедуры, выполняемой при изменении (Change)

' значения полосы прокрутки ScrollBar1

CommandButton1.Caption = ScrollBar1.Value

' Запись в заголовок (Caption) кнопки CommandButton1

' значения (Value) из полосы прокрутки (ScrollBar1)

End Sub

Картинка (Image)

С помощью элемента управления типа Image можно помещать на форму графические файлы различных форматов (bmp, gif, jpeg, wmf и др.). Файл иллюстрации добавляется в элемент управления типа Image при задании свойства Picture (например, в окне Properties). Для элемента Image доступны свойства изменения положения на форме (Left, Top) и размера (Width, Height). При изменении размеров Image важную роль играет свойство PictureSizeMode (табл. 14).

Таблица 14

Влияние свойства PictureSizeMode на элемент типа Image

Значение свойства PictureSizeMode Действие свойства Описание свойства
fmPictureSizeModeClip Файл изображения добавляется в элемент Image в своем оригинальном размере. Размеры Image не влияют на размер изображения, но при уменьшении могут часть его скрыть
fmPictureSizeModeStretch Изображение в элементе Image изменяет свои размеры вслед за элементом как по ширине, так и по высоте (при этом возможно непропорциональное изменение размеров)
fmPictureSizeModeZoom Изображение в элементе Image изменяет свои размеры вслед за элементом, сохраняя исходное отношение высоты к ширине (возможное в этом случае незаполненное пространство Image окрашивается фоновым цветом BackColor)

 

Пример

Для Задания Б из лабораторной работы № 3 "Условные операторы":

Задание Б.

Представить аналитическими выражениями функцию y = f(x), заданную графически.

Изобразить блок-схему и написать программу для расчета y = f(x) при различных значениях x.

… построить пользовательский интерфейс на основе формы VB, включающий:

1) изображение ("картинку") графического задания функции,

2) "кнопку" запуска расчета значения функции,

3) два "переключателя", дающие возможность выбрать один из двух вариантов ввода аргумента x для расчета функции,

4) элементы управления (для двух вариантов ввода аргумента (x)) следующих типов: а) "список", б) "полоса прокрутки".







Дата добавления: 2015-10-15; просмотров: 779. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия