Файл: Высшего образования российский государственный социальный университет.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 59

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, когда вы отпустите кнопку мыши. Для того чтобы непрерывно изменять значение полосы вслед за перетаскиванием бегунка вручную, воспользуйтесь обработчиком события Scroll (Прокрутка).

Расположение кнопок (горизонтальное или вертикальное) выбирается автоматически в зависимости от ширины и высоты полосы прокрутки.

Пример. Давайте рассмотрим пример, иллюстрирующий возможности элемента управления ScrollBar и разницу между событиями Change и Scroll. Создадим форму, добавим на нее полосу прокрутки с именем scr_First, оставим ее параметры равными по умолчанию, и две надписи – lbl_Change и lbl_Scroll. Они будут содержать информацию о значении полосы прокрутки, но lbl_Change будет обновляться по событию полосы прокрутки Change, а lbl_Scroll — по событию Scroll.

lbl_Change.Caption = scr_First.Value
lbl_Scroll.Caption = scr_First.Value

Ниже показана форма нашего примера в момент перетаскивания бегунка вручную.



До тех пор, пока мы не отпустили левую кнопку мыши, при каждом перемещении бегунка вручную будет генерироваться событие Scroll — значение в надписи lbl_Scroll будет меняться при перемещении бегунка. А вот значение в поле lbl_Change, которое обновляется по событию Change, изменится лишь тогда, когда мы отпустим кнопку мыши. В то же время, изменяя значение полосы прокрутки с помощью кнопок прокрутки, мы можем наблюдать лишь изменения поля lbl_Change так как нажатия на эти кнопки генерируют событие Change. А вот поле lbl_Scroll при использовании кнопок обновляться не будет – событие Scroll не гененируется.

SpinButton

SpinButton — счетчик. Этот элемент управления напоминает полосу прокрутки без центрального бегунка. Он служит для выбора значений из небольшого диапазона. Работа с ним аналогична работе с полосой прокрутки. Главное отличие — отсутствие у счетчика события Scroll (Прокрутка) и свойства Large Change (Большое изменение).

Как и в случае с полосой прокрутки, расположение кнопок на элементе управления выбирается автоматически в зависимости от ширины и высоты.

Image

Image — изображение. Этот элемент управления используют для вывода на форму изображений.

За картинку, которая будет отображаться в Image, отвечает параметр Picture (Изображение). Настраивая этот параметр в панели Properties, вы должны будете выбрать нужный графический файл с помощью стандартного окна поиска файлов.

Для того, чтобы изменить картинку в ходе выполнения программы, вы должны воспользоваться специальной функцией LoadPicture таким образом:

Имя_рисунка.picture = LoadPicture (полный_путь_к_файлу)


Среди других важных свойств рисунка можно отметить такие, как AutoSize (Автоматический размер). Если свойство установлено в True (Истина) – элемент управления автоматически изменяет свой размер в соответствии с размером загруженного в него изображения.

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

Пример. Рассмотрим пример, в котором изображение в элементе управления Image меняется при нажатии на кнопки. Для этого примера нам понадобится пара графических файлов. Мы заранее создали их – каждый из них имеет размер 100х100 пикселей и формат jpg.

Создадим новый документ Microsoft Word и сохраним его в какой-нибудь папке. После этого нужно скопировать в ту же папку файлы изображений. Вы можете использовать в своих проектах файлы, расположенные произвольно, но мы поступим именно так. Теперь создадим форму и добавим на нее картинку с именем img_First. С помощью свойства Picture (Изображение) выберем изображение, которое будет отображено на элементе управления. Настроим размер элемента управления таким образом, чтобы изображение поместилось в нем полностью.

Теперь добавим на форму две кнопки — cmd_First и cmd_Second. При нажатии на кнопке cmd_First в img_First должна отображаться картинка 1.jpg, при нажатии кнопки cmd_Second — 2.jpg. Так как картинки расположены в той же папке, что и наш файл, мы можем использовать для их загрузки относительный путь, то есть использовать лишь имя файла. Если же ваши картинки расположены где-нибудь еще — надежнее всего будет указать абсолютный путь к ним (например, похожий на этот: "C:\Images\1.jpg"). Для изменения свойства Picture элемента управления img_First в коде программы нужно воспользоваться уже упомянутой функцией LoadPicture.

MultiPage

MultiPage — набор страниц. С помощью этого элемента можно создать многостраничное окно. Доступ к отдельным частям такого окна осуществляется посредством выбора вкладок.

Управлять вкладками можно с помощью контекстного меню, которое появляется при щелчке по элементу управления. Вкладки организованы в коллекцию Pages (Страницы). Чтобы обратиться к элементу управления, расположенному на одной из вкладок элемента управления MultiPagе, нужно использовать такую конструкцию:

Имя_элемента_MultiPage.Имя_вкладки.Имя_элемента_на_вкладке

Важнейшие свойства объекта MultiPage следующие:



Value (Значение) — возвращает номер активной вкладки (нумерация начинается с нуля).

SelectedItem — возвращает выбранную страницу.

При выборе вкладки генерируется событие Change.

Пример. Создадим форму, поместим на нее элемент управления MultiPage, назовем его mlt_First. Добавим одну вкладку к набору вкладок, добавляемому на элемент по умолчанию. Вкладки имеют имена Page1, Page2 и т.д. Чтобы настраивать свойства каждой вкладки по отдельности, будем выделять эти вкладки в окне редактора. В таблице приведены параметры вкладок и список элементов управления на каждой из них.

Параметры вкладок

Имя вкладки

Надпись

Элементы управления на вкладке

p_1

Вкладка №1

txt_First — текстовое поле; cmd_First — кнопка с надписью "Перенести текст на вкладку №3"

p_2

Вкладка №2




p_3

Вкладка №3

Lbl_First — надпись

Настроим событие Change для mlt_First таким образом, чтобы при выборе каждой вкладки выводилось бы окно сообщения с именем этой вкладки

MsgBox (mlt_First.SelectedItem.Name)

Теперь поработаем с событием Click кнопки cmd_First, которая расположена на вкладке p_1. По нажатию на эту кнопку текст, который введен в текстовое поле txt_First, должен быть перенесен на надпись lbl_First, которая расположена на вкладке p_3. Этот обработчик проиллюстрирует работу с элементами управления, расположенными на различных вкладках

mlt_First.Pages.Item(2).lbl_First.Caption = _

mlt_First.Pages.Item(0).txt_First.Text

TabStrip

TabStrip — набор вкладок. Используется для организации нескольких рабочих областей на форме. В объект входит семейство Tabs (Вкладки), которое содержит все активные вкладки.

Основное событие объекта — Change (Изменение). Оно происходит при смене вкладки.

Наборы вкладок используются достаточно редко. Например, их можно применить, чтобы по-разному заполнять одни и те же поля, по-разному устанавливать флажки и т.д.

Дело в том, что TabStrip не содержит элементы управления внутри себя. Он служит как бы "фоном" для размещения элементов.


Cамый яркий пример использования TabStrip — это создание приложений с многоязыковым интерфейсом. Рассмотрим пример.

Пример. Добавим в проект форму frm_First, разместим на ней элемент управления TabStrip с именем tab_First. По умолчанию у TabStrip две вкладки. Первая по порядку вкладка имеет номер 0, вторая — 1 и т.д. Для того, чтобы узнать номер активной вкладки, можно воспользоваться свойством Value элемента управления TabStrip.

Для того, чтобы изменить надписи на вкладках, добавить новые и т.д. служит контекстное меню, которое появляется на элементе управления TabStrip при щелчке по нему правой кнопкой мыши. Подпишем первую вкладку Русский, вторую — English.

Добавим на форму, поверх tab_First, метку с именем lbl_First и текстом Добро пожаловать, а так же кнопку cmd_First с надписью Вперед

Теперь добавим обработчик события Change для tab_First.

If tab_First.Value = 0 Then

lbl_First.Caption = "Добро пожаловать!"

cmd_First.Caption = "Вперед"

End If

If tab_First.Value = 1 Then

lbl_First.Caption = "Welcome!"

cmd_First.Caption = "Next"

End If

В результате, если выбрана первая вкладка (индекс 0), свойствам Caption элементов управления lbl_First и cmd_First присваиваются русскоязычные слова. Если же выбрана вкладка с индексом 1, элементам управления присваиваются англоязычные названия.

Calendar

Calendar — календарь. Этот объект удобно использовать для ввода и отображения даты. Для того чтобы считать дату, можно использовать его свойство Value (Значение). С помощью этого же свойства можно установить дату на календаре.

При изменении дня недели генерируется событие Click (Щелчок), при смене месяца или года – события NewMonth (Новый месяц) и NewYear (Новый год).

Давайте рассмотрим пример. Добавим на форму элемент управления Calendar, назовем его cld_First, добавим второй календарь с именем cld_Second. Добавим на форму кнопку — cmd_First, с подписью "Вывести дату". По нажатию на кнопку cmd_First в окне сообщения должна выводиться дата, установленная в cld_First.

При изменении даты в календаре cld_First, в календаре cld_Second должен устанавливаться тот же месяц, который установлен в cld_First, число месяца должно устанавливаться на 1 день месяца.

MsgBox (cld_First.Value)
cld_Second.Month = cld_First.Month

cld_Second.Day = 1
Последовательность обхода элементов управления

Перемещаться между элементами управления, добавленными на форму, можно, нажимая клавишу Tab на клавиатуре. Это — стандартная возможность Windows-программ. По умолчанию объекты обходятся в том порядке, в котором они добавляются на форму. Однако, иногда удобно
установить свой порядок обхода элементов, назначить какой-то элемент управления активным по умолчанию и т.д.

Элементы управления имеют свойство TabIndex (Индекс табуляции). Этот индекс начинается с 0, что соответствует первому элементу управления. Настроить порядок табуляции можно, модифицировав этот параметр. Однако удобнее воспользоваться специальным окном. Вызвать его можно командой View • Tab Order (Вид • Порядок перехода). Имена элементов управления расположены в этом окне в порядке обхода. Чтобы изменить этот порядок, воспользуйтесь кнопками Move Up (Переместить вверх) и Move Down (Переместить вниз).



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

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

Последние штрихи: расположение элементов на форме

Работая с элементами управления, вы можете столкнуться с проблемой настройки их размеров и взаимного расположения. Эти параметры можно настраивать вручную — перетаскивая элементы по форме с помощью мыши или модифицируя их свойства. Но есть еще один способ решения этой проблемы — воспользоваться командами меню Format (Форматирование).