Другие элементы управления

Рамка (является контейнером) - элемент управления Frame. Используется для визуальной группировки элементов управления. Основным свойством является Capture, отображающее надпись рамки.

 

Флажок и выключатель

Элемент управления CheckBox -флажок. Предоставляет пользователю возможность выбора. Обычно имеет два состояния: установленное и сброшенное, но может настраиваться на выбор из трех альтернатив. Флажок имеет те же свойства Value, Enabled, Visible, Capture, что и переключатель.

Свойство TripleState: False - выбор 2-x:False и True; True - выбор 3-х: False, True, Null.

Элемент ToggleButton - выключатель. Предоставляет те же возможности, что и флажок.

 

Пример:

Private Sub UserFormlnitialize ()

'Выключатель

ToggleButton 1. Value=True

ToggleButton2.Value=False

ToggleButton3.TripleState=True

ToggleButton3. Value=Null

'Флажок

CheckBoxl. VaIue=True

CheckBox2.Value=False

CheckBox3 TripleState=True

CheckBox3.Value=False

End Sub

 

 

Список

ListBox - применяется для хранения списка значений. Из списка выбирается одно или несколько значений.

Свойства:

Listlndex - возвращает номер текущего элемента списка, нумерация начинается с нуля.

ListCount - число элементов в списке.

Toplndex - элемент списка с наибольшим номером.

ColumnCount - устанавливает число столбцов в списке.

TextColumn - устанавливает столбец в списке, элемент которого возвращается свойством Text.

Enable - True - запрещен выбор значений из списка, False - в противном случае.

Text - возвращает выбранный с списке элемент. ;

List — возвращает элемент списка, стоящий на пересечении строки и столбца (List(row,colurrm) - синтаксис).

MultiSelect - устанавливает способ выбора элемента списка.

Значения: fmMiltiSelectSingle - выбор только одного элемента

FmMultiSelectMulti - разрешен выбор нескольких элементов посредством либо щелчка, либо нажатием «Пробел».

FmMultiSelectExtended - разрешено использование «Shift» при выборе ряда последовательностей элементов списка.

ListStyle - значение fmListStylePlain - выбранный элемент из списка выделяется цветом.

FmListStyleOption - перед каждым элементом в списке располагается флажок и выбор элемента из списка соответствует установке флажка.

MatchEntry - выводит 1-й подходящий элемент из списка при наборе его имени на клавиатуре.

Значения: frnMatchEntryNone - режим вывода подходящего элемента в списке отключен.

FmMatchEntryLetter - выводит подходящий элемент по набранной первой букве (желателен список, отсортированный по алфавиту).

FmMatchEntryComplete - выводит подходящий элемент по полному набранному имени.

 

Наиболее часто используемые методы элемента ListBox:

Clear - удаляет все элементы списка

RemoveItem - удаляет из списка элемент с указанным номером (RemoveItem(index)-синтаксис).

Addltem - добавляет. Addltem([item[,varlndex]])

Item - элемент (строковое выражение), добавляемый в список.

Varlndex - номер добавляемого элемента.

Заполнение списка(спосо6ы):

Поэлементно, если список состоит из одной колонки:

With ListBoxl

.AddItem «Июнь»

.AddItem «Июль»

.AddItem «Август»

.LisrIndex=0

End With

Массивом, если список состоит из одной колонки: With ListBoxl

.List=Array («Июнь», «Июль», «Август»)

.ListIndex=l

End With

 

Из диапазона А1:В4, в который предварительно введены элементы списка. Результат выбора (индекс выбранной строки) вводится в ячейку С1:

With ListBox1

.ColumnCount=2 — устанавливает число столбцов

.RowSource="Al :В4" - устанавливает диапазон, содержащий элементы списка.

ControlSource="C1" - устанавливает ячейку, куда возвращаются элементы списка.

BoundColumn=0 - возвращает индекс выбранной строки

End With

 

Поэлементно, если список состоит из нескольких колонок, например двух:

With ListBoxl

.ColumnCount=2

.AddItem «Июнь»

.List(0,l)="Ceccия"

.AddItem="Июль"

.List( 1,1 )="Каникулы"

.AddItem "Август"

.List(2,1 )="Каникулы"

End With

 

Массивом, если список состоит из нескольких колонок, например

двух:

Dim A(2,l) As String

А(0,0)=»Июнь»: А(0,1 )=»Сессия»

А(1,0)=»Июль»: А( 1,1 )=»Каникулы»

А(2,0)=» Август»: А(2,1 )=»Каникулы»

With ListBox1

.ColumnCount=2

.List=A

End With

Выбор нескольких элементов из списка

Свойство MultiSelect позволяет устанавливать режим, при котором допустим выбор нескольких элементов из списка. Свойство Selected предоставляет возможность проверить, выбран ли элемент с указанным индексом.

Пример использования этих свойств при вычислении среднего значения выбранных в списке элементов:

With ListBox1

.List=Array(l ,3,4,5,6,7,8,9)

.ListIndex=0

.MultiSelect=fmMultiSelectMulti

Среднее=0

N=0

For i=0 to .ListCount-1

if .Selected(i)=True then

N=N+1

Cpeднеe=Cpeднеe+.List(i)

End if

Next i

End With

Среднее=Среднее/N

 

 

Пример программы для работы со списком

Задачи: 1) заполнить список

2) выбирать несколько элементов из списка

3) выполнять специфицированные операции над выбраными элементами из списка.

Задание: разработать программу, позволяющую выбрать несколько чисел, выводимых в списке в диалоговом окне с названием Операции над элементами списка. В группе выбора Операция следует установить один из переключателей: Сумма, Произведение, Среднее, т.е. выбрать операцию над выбранными числами. Нажатие кнопки Вычислить должно приводить к выполнению операции и выводу результата в поле Результат.

 

Предусмотрим дополнительный сервис приложения:

пусть следующие События реализуют действия:

 

UserForm Initialize - 1) активизирует диалоговое окно; 2) запрещает ввод данных в поле Результат; 3) назначает клавише "Esc" функцию кнопки Отмена, а клавише "Enter" функцию Вычислить; 4) связывает с кнопками Вычислить и Отмена, а также с переключателями всплывающей подсказки.

 

CommandButtonl_Click (кнопка Вычислить) - 1) определяет какой переключатель выбран. В зависимости от выбранного переключателя нажатие Вычислить производит действие над выбранными в списке числами. 2) Найденное число выводится в поле Результат.

 

CommandButton2_Click (кнопка Отмена) - закрывает диалоговое

окно.

 

Private Sub CommandButton l_Click ()

'Процедура проведения вычислений с выбранными элементами

'списка в зависимости от выбранной операции.

Dim i As Integer 'i - вспомогательная переменная

Dim h As Integer 'h - счетчик числа выбранных элементов

Dim Сумма As Double '- сумма

Dim Произведение As Double '-произведение

Dim Среднее As Double '- среднее

Dim Результат As Double '- записывается результат операции.

'При выборе 1-го переключателя вычисляется сумма

If OptionButton1.Value=True Then

Сумма=0

With ListBox1 For i=0 To .ListCount-1

If .Selected(i)=True Then

Cyммa=Cyммa+.List(i)

End if

Next i

End With

Результат=Сумма

End if

'При выборе 2-го переключателя вычисляется произведение

If OptionButton2.Value=True Then

Произведение=1

With ListBoxl For i=0 To ListCount-1

If Selected(i)=True Then

Произведение=Произведение* List(i)

End if

Next i

End With

Результат=Произведение

End if

'При выборе 3-го переключателя вычисляется среднее 'арифметическое

If OptionButton3.Value=True Then

Среднее=0: n=0

With ListBoxl For i=0 To .ListCount-1

If Selected(i)=True Then n=n+l

Cpeднee=Cpeднee+.List(i)

End if

Next i

End With

Результат=Среднее/n

End if

'Результат выводим в поле Результат TextBoxl.Text=CStr(Format(Результат,"Fixed"))

End Sub 'кнопка Вычислить

 

Private Sub CommandButton2_Click()

'Процедура закрытия диалогового окна

UserForml.Hide

End Sub

 

Private Sub UserForm_Initialize()

'Процедура инициализации диалогового окна

'Заполнение списка

'Установка режима выбора использованных элементов

With ListBoxl

.List=Array(l,3,4,5,6,7,8,10)

.ListIndex=0

.MultiSelect=frnMultiSelectMulti

End With

'Первоначальный выбор переключателя Сумма при инициализации 'диалогового окна

'Задание текста всплывающих подсказок у переключателей

With OptionButton1

.Value=True

.ControlTipText-'Сумма выбранных элементов"

End With

OptionButton2.ControlTipText ="Произведение выбранных элементов"

OptionButton3.ControlTipText="Cpeднee значение выбранных элементов"

'Поле Результат не доступно для пользователя.

TextBox1.Enabled=False

'Назначение клавише "Enter" функции кнопки Вычислить.

'Задание текста всплывающей подсказки

With CommandButton1

.Default=True

.ControlTipText-'Нахождение результата"

End With

'Назначение клавише "Esc" функции кнопки Отмена

'Задание текста всплывающей подсказки

CommandButton2.Cancel=True

'Задание заголовка пользовательской формы

UserForml.Caption-'Операции над элементами списка"

UserForml. Show

End Sub

 

Выбор одного из многих вариантов

Select Case - выбор варианта

Синтаксис:

Select Case Выражение

Case ДиапазонЗначений1

ПоследовательностьОператоров 1

Case ДиапазонЗначений2

ПоследовательностьОператоров2

или

Select Case Выражение 1 Case Значение 1

Case Значение2.....

Case Else

ПоследовательностьОператоровN

End Select

 

Выражение - любое арифметическое или иное выражение. ДиапазонЗначений1, ДиапазонЗначений2,...- одно из значений Выражение, либо границы области значений.

 

Примеры, исчерпывающие ДиапазонЗначений.

ДиапазонЗначений - выражение после слова Case:

а) -1,1,3,5

б) 6000 То 10000

в) Is > 20000

г) Is <> "Иванов"

д) -1,1,3,5,6000 То 10000, Is>20000

В ДиапазонЗначений может входить :

а) одно из чисел -1,1,3,5;

б) любое число между 6000 и 10000;

в) любое число, превосходящее 20000;

г) любое строковое значение, отличное от "Иванов";

д) любое число из примеров а), б), в);

То, Is - ключевые слова VBA.

 

Пример программы, использующей оператор выбора

 

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

 

БАЛЛЫ ОЦЕНКИ
Менее 15
От 15 до 24
От 25 до 34
Не менее 35

 

Экранная форма:

Созданы 5 одинаковых объектов - 5 Флажок (Контрольный индикатор) - CheckBox. Щелчок на каждом из них должен изменять значение его свойства Value:

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

 

1. Пяти переменным Vl%, V2%, V3%, V4%, V5% присваиваются

значения свойства Value объекта CheckBox.

2. Вызывается процедура Summa, которая присваивает переменной

S% сумму набранных баллов, по значению которой переменной

m% присвоится значение оценки с помощью Case.

 

Sub Summa (Vl%, V2%, V3%, V4%, V5%, S%, m%)

S=-V1*6-V2*6-V3*9-V4*9-V5*12

' True соответствует целочисленное значение (-1), False - 0.

Select Case S

Case Is< 15

m=2

Case 15 To 24

m=3

Case 25 To 34

m=4

Case Is >=35

m=5

Case Else

m=0

End Select

End Sub

Код любой из 5 процедур:

Private Sub CheckBox Click ()

V1 %=CheckBox1.Value

V2%=CheckBox2.Value

V3%=CheckBox3.Value

V4%=CheckBox4.Value

V5%=CheckBox5 .Value

Call Summa(Vl%, V2%, V3%, V4%, V5%, S%, m%)

TextBox 1.Text=CStr (S)

TextBox2.Text=CStr (m)

End Sub

 

Элемент управления Image (рисунок)

Используется для отображения графических файлов в формате bmp, cur, ico, gif, jpg, wmf. Основные свойства Image, используемые для управления выводом изображения:

AutoSize - True — рисунок автоматически изменяет размер для того,

чтобы отобразить изображение целиком.

False - в противном случае.

Picture - задает отображаемый графический файл. Используется с

Функцией LoadPicture.

Imagel.Picture=LoadPicture("C:\my_doc\Kpyг.bmp")

 

Функция LoadPicture (ПолноеИмяФайла) считывает графическое изображение. Чтобы удалить картинку, надо присвоить свойству Picture значение LoadPicture (" ").

PictureSizeMode - устанавливает масштабирование рисунка.

Значения:

FmPictureSizeModeClip - не помещающиеся в границах объекта части рисунка обрезаются.

FmPictureSizeModeStretch - рисунок масштабируется так, чтобы он занимал всю поверхность объекта.

FmPictureSizeModeZoom — рисунок масштабируется с сохранением относительных размеров так, чтобы он помещался целиком внутри объекта.

PictureAlignment - устанавливает расположение рисунка внутри объекта.

Значения:

FmPictureAlignmentTopLeft - в верхнем левом углу

FmPictureAlignmentTopRight - в верхнем правом углу

FmPictureAlignmentCenter - в центре

FmPictureAlignmentBottomLeft - в нижнем левом углу FmPictureAlignmentBottornRight - в нижнем правом углу.

PictureTiling - True - объект покрывается мозаикой из рисунка.

False - в противном случае.

 

 

Пример размещения рисунка в объекте. Во всех 4-х случаях рисунок выравнивается по верхнему левому краю объекта.

В 1-м случае: изображение пропорционально масштабируется так, чтобы целиком заполнить область объекта.

Во 2-м: масштабирование непропорциональное.

В 3-м: рисунок размещается произвольно.

В 4-м: область объекта покрывается мозаикой из рисунков.

Private Sub UserForm_Initialize()

' 1

With Image 1

.PictureAlignment=fmPictureAlignmentTopLeft

.PictureAlignment=fmPictureSizeModeZoom

.Picture=LoadPicture("C:\Face.bmp")

End With

' 2

With Image2

.PictureAHgrmient=fmPictureAlignmentTopLeft

.PictureSizeMode=fmPictureSizeModeStretch

.Picture=LoadPicture("C:\Face.bmp")

End With

' 3

With Image3

.PictareAlignment=fmPictureAlignmentTopLeft

.PictureSizeMode=fmPictureSizeModeClip

.Picture=LoadPicture("C:\Face.bmp")

End With

'4

With Image4

. Picture Alignment=fmPictureAlignmentTopLeft

.PictureTiling=True

.Picture=LoadPicture("C:\Face.bmp")

End With

'

End Sub

 

Пример управления размером и перемещением элемента управления.

Примечание. В файле Dot.bmp хранится изображение "Колобка"

 

Private Sub CommandButton l_Click( )

'Передвижение колобка по поверхности формы

If Image l.Top>0 And Imagel.Left>0 Then

Image1 .Move Image1.Left=Image1.Left-5

Image1 .Top=Image 1.Top-0

Else Image1.Visible=False

End if

End Sub

Private Sub CommandButton2_Click()

'Изменение размера Колобка

Image1.Height=Image1.Height+3

Image1.Width=Image1.Width+3

End Sub

'Инициализация диалогового окна Private Sub UserForm_Initialize()

With Image 1

'Изображение Колобка хранится в файле Dot.bmp

.Picture=LoadPicture("Dot.bmp")

.PictureAlignment=fmPictureAlignmentTopLeft

.PicteeSizeMode=fmPictureAlignmentModeZoom

.BorderStyle=fmBorderStyleNone

.Visible=True

End With

End Sub

 

Пояснения:

Left, Top - устанавливают координаты верхнего левого угла элемента управления, определяющие его положение в форме.

BorderStyle - fmBorderStyle - границы в виде контура.

None - невидима.

 

Дополнение

(методы Basic, "работающие" в автономных средах Visual Basic) [8]

 

Методы в экранной форме: Print, Cls, Circle, Line, Pset, Scale.

 








Дата добавления: 2016-02-04; просмотров: 621;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.097 сек.