Студопедия — И создание собственных диалоговых окон
Студопедия Главная Случайная страница Обратная связь

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

И создание собственных диалоговых окон






 

Элемент управления Список(ListBox) применяется для хранения списка значений. В списке пользователь может выбрать одно или несколько значений, которые в последующем используются в программе. Выбор списка производится щелчком по элементу. Двойной щелчок применяется с целью выполнения каких-либо действий в программе, связанной с этим элементом. Наиболее часто используемые свойства:

 

ListIndex - возвращает номер выбранного элемента списка. Нумерация элементов списка начинается с нуля. Если ни один элемент из списка не выбран, то свойство возвращает -1;

ListCount - возвращает число элементов списка;

TopCount - возвращает элемент списка с наибольшим номером;

TextColumn - устанавливает столбец в списке, стоящий на пересечении указанной строки и столбца;

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

List - возвращает элемент списка, стоящий на пересечении указанной строки и столбца. Синтаксис: List(Row, Source). Строки и столбцы нумеруются с нуля.

 

Для заполнения и удаления списка применяются методы RemoveItem, AddItem и Clear:

 

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

 

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

 

RemoveItem(index), где index - номерудаляемого элемента;

 

AddItem - добавляет элемент в список. Синтаксис:

 

AddItem(item [, varIndex ]), где item - элемент (строковое выражение) добавляемый, добавляемый в список; varIndex - номер добавляемого элемента

 

В примере на рис.3 при нажатии кнопки с надписью «Add Element»(CommandButton1) добавляется один элемент списка в элемент ListBox1 на рабочем листе Excel. При выделении мышью какого-либо элемента в списке, он отображается на листе Excel. При нажатии кнопки с надписью ”Clear ListBox ” (CommandButton2) происходит очистка списка.

 

Private Sub CommandButton1_Click()

Dim i As Integer

i = ListBox1.ListCount + 1

ListBox1.AddItem "Элемент" & CStr(i)

End Sub

 

Private Sub CommandButton2_Click()

ListBox1.Clear

End Sub

 

Private Sub ListBox1_Click()

Dim i As Integer

i = ListBox1.ListIndex + 1

Sheets("Лист1").Cells(i, 4).Value = ListBox1.Text

Sheets("Лист1").Cells(i, 5).Value = ListBox1.ListIndex + 1

End Sub

 

Для создания многоколоночного списка следует установить свойство ColumnCount, которое задаёт, сколько столбцов будет в списке. Кроме того, при работе с таким списком полезно определить значение свойства ColumnWidths, которое устанавливает ширину каждого столбца. А затем список надо заполнить. Нумерация столбцов в списке начинается с нуля. В качестве примера создания списка с несколькими столбцами рассмотрим простой проект, в котором производится вычисление значений функции sin(x) на промежутке от a до b с шагом h, а результат выводится в список с двумя столбцами. На листе расположим по три надписи, два поля ввода и список.

 

Private Sub CommandButton1_Click()

lstTab.ColumnCount = 2

lstTab.ColumnWidths = "60;60"

Dim a As Double, b As Double, h As Double

Dim x As Double, f As Double, i As Long

Dim Values() As Double

a = CDbl(txtA.Text)

b = CDbl(txtB.Text)

h = CDbl(txtH.Text)

If (b - a) / h < 1 Then Exit Sub

ReDim Values((b - a) / h, 1)

i = 0

For x = a To b Step h

f = Sin(x)

Values(i, 0) = x

Values(i, 1) = f

i = i + 1

Next x

lstTab.List = Values

End Sub

Рассмотрим два примера получения в многостолбцовом списке выбранного значения из произвольного столбца. Первый пример основан на свойстве ListIndex, определяющем номер выбранной в списке строки, и свойстве List(row, column), где row - номер строки, а column - номер столбца. Здесь lstNumbers - имя списка, lblFirst и lblSecond - имена текстовых окон.

 

Private Sub CommandButton1_Click()

Dim i As Integer

Randomize

For i = 0 To 299

lstNumbers.AddItem i

lstNumbers.List(i,1)= Int(101 * Rnd())

lstNumbers.List(i,2)= Int(101 * Rnd())

Next i

End Sub

 

Private Sub lstNumbers_Click()

lblFirst.Caption = lstNumbers.List(lstNumbers.ListIndex, 1)

lblSecond.Caption = lstNumbers.List(lstNumbers.ListIndex, 2)

End Sub

 

Второй пример основан на свойстве TextColumn, устанавливающем номер столбца, значение которого в списке возвращается свойством Text, а также на свойстве BoundColumn, задающем номер столбца, значение которого в списке возвращается свойством Value (программа для той же группы элементов). Для работы с этими свойствами после создания списка в окне свойств для него задаются значения этих свойств. В нашем случае (для той же группы элементов) задайте - 2 для свойства TextColumn и 3 для свойства BoundColumn. Затем для тех же элементов наберите следующие коды:

 

Private Sub CommandButton1_Click()

Dim i As Integer

Randomize

For i = 0 To 299

lstNumbers.AddItem i

lstNumbers.List(i, 1) = Int(101 * Rnd())

lstNumbers.List(i, 2) = Int(101 * Rnd())

Next i

End Sub

 

Private Sub lstNumbers_Click()

lblFirst.Caption = lstNumbers.Text

lblSecond.Caption = lstNumbers.Value

End Sub

 

Если выделенные в списке значения ваша программа использует в вычислениях, то следует учитывать, что обращения к колонкам с целыми числами можно использовать без всяких ограничений – Visual Basic автоматически преобразует строки в целые числа. А вот при работе с вещественными числами необходимо использование встроенной функции Val, преобразующей строку в вещественное число, так как Visual Basic не преобразует автоматически строки в вещественные числа. Например, в следующем примере числа из 2 и 3 столбцов выделенной строки списка суммируются и результат выводится в текстовое окно.

 

Private Sub CommandButton1_Click()

Dim i As Integer

Randomize

For i = 0 To 19

ListBox1.AddItem i

ListBox1.List(i, 1) = 101 * Rnd()

ListBox1.List(i, 2) = 101 * Rnd()

Next i

End Sub

 

Private Sub ListBox1_Click()

Label1.Caption = Val(ListBox1.List(ListBox1.ListIndex, 1)) + _

Val(ListBox1.List(ListBox1.ListIndex, 2))

End Sub

 

Здесь обращения к числам в списке находятся в функции Val.

 

Элемент управления Поле со списком применяется для хранения списка значений. Сочетает в себе возможности списка и поля ввода. В отличие от списка у него отображается только один элемент. Возможность выделения нескольких элементов отсутствует. Позволяет пользователю вводить значения через поле ввода как в элементе Поле. Свойства ListBox,

ListIndex, методы Clear, RemoveItem и AddItem полностью аналогичны таким же свойствам в Списке. Кроме того, есть ряд уникальных свойств:

 

DropButtonStyle – устанавливает вид поля со списком. Допустимые значения: fmDropButtonStylePlain или 0 - кнопка без символов; fmDropButtonStyleArrow или 1 - кнопка со стрелкой; fmDropButtonStyleEllipsis или 2 - кнопка с эллипсом; fmDropButtonStyleReduce или 3 – кнопка с линией.

ListRows - устанавливает количество элементов, отображаемых в поле со списком;

MatchRequired - допустимые значения: true – в поле нельзя ввести значения, отличные от перечисленных в списке; false – значения, отличные от перечисленных в списке ввести можно.

MatchFound - допустимые значения: true – среди элементов поля со списком имеется элемент, совпадающий с элементом в поле ввода; false - в противном случае.

 







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



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

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

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

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

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

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