Файл: Высшего образования российский государственный социальный университет.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 343
Скачиваний: 2
, назовем его cbo_First. Теперь создадим обработчик события Initialize для frm_Main и добавим туда такой код:
cbo_First.AddItem ("Иванов")
cbo_First.AddItem ("Петров")
cbo_First.AddItem ("Сидоров")
cbo_First.AddItem ("Васильев")
Создадим обработчик события Change для cbo_First и добавим в него команду вывода сообщения:
MsgBox (cbo_First.Value)
Теперь запустим форму. При нажатии на кнопку с треугольником, поле раскрывается, при выборе одной из строк поля, ее значение отображается в окне сообщения.
ListBox
ListBox — список. Обычно используется для представления списков данных.
Работа с ListBox аналогична работе с ComboBox. Ниже вы можете видеть форму с расположенным на ней списком, реализующую ту же функциональность, что и в примере к полю со списком.
CheckBox
CheckBox — флажок. Используется для включения и отключения каких-либо опций. Элемент управления представляет собой поле, где можно устанавливать и снимать флажок и надпись, где обычно выводится название и назначение флажка.
Если флажок установлен — его свойство Value (Значение) устанавливается в True (Истина), если не установлен — в False (Ложь). Для того чтобы программно установить или снять флажок, можно воспользоваться его свойством Value, приравняв ему True или False, соответственно.
Еще одно важное свойство флажка — TripleState. Если оно включено — флажок помимо True или False может иметь значение Null, которое можно интерпретировать как "Пустой флажок". Null-флажок нельзя модифицировать — он закрашен серым цветом.
Сами по себе, без использования специальных конструкций языка, флажки приносят мало пользы. Эффективно работать с ними можно, используя операторы принятия решений.
С флажком можно сопоставить событие Change (Изменить). Оно выполняется всякий раз при установке или снятии флажка.
Давайте рассмотрим пример работы с флажками. Создадим форму frm_First и разместим на ней три флажка – chk_1, chk_2 и chk_3. Добавим на форму пару кнопок – cmd_SetAll с надписью "Установить все флажки" и cmd_ClearAll с надписью "Снять все флажки". Думаю, вы видели что-то подобное во многих программах — часто пользователю предоставляется возможность не кликать по множеству флажков вручную, устанавливая или снимая их, а сделать эту работу одним нажатием специальной кнопки. Точно так же, можно создать кнопку, которая устанавливает определенный набор флажков из всех, реализуя тем самым какую-нибудь особенную настройку программы.
Добавим обработчик события Click для cmd_SetAll. Если попытаться выразить обычным языком то, что должно произойти по нажатию этой кнопки, то получится следующее: "Установить все три флажка, то есть, сделать их параметр Value равным True". chk_1.Value = Truechk_2.Value = Truechk_3.Value = TrueOptionButtonOptionButton — радиокнопка. Не удивляйтесь такому названию. Оно отражает особенности этого элемента управления. Радиокнопки обычно используются группами, а в группе может быть выбрана лишь одна кнопка. Это напоминает выбор одной радиостанции с помощью одной из кнопок на радиоприемнике. Основное свойство радиокнопки — это Value (Значение) — если оно равно False (Ложь) — радиокнопка не выбрана, если True (Истина) — выбрана. Свойство TripleState позволяет присваивать элементу управления параметр Null, который, как в случае с флажками, блокирует элемент.Все радиокнопки, расположенные на одной форме, автоматически объединяются в одну группу. Поэтому из всех этих кнопок выбрана может быть лишь одна. Как же быть, если на форме надо расположить несколько групп таких кнопок? Ответ на этот вопрос кроется в использовании так называемых фреймов или рамок (элемент управления Frame). Радиокнопки, размещенные в пределах рамки, обрабатываются отдельно от кнопок на других рамках или на формах.
Важно!!!
Не во всех версиях Excel есть описанные далее элементы. Пользуйтесь теми, которые доступны в вашей версии.FrameFrame — рамка. Рамки обычно используют для группировки объектов. Например, на форме может быть расположено несколько групп элементов управления, выполняющих различные функции. Логично будет сгруппировать их с помощью рамок. Для этого нужно создать на форме рамку и перетащить на нее остальные элементы управления. Как правило, рамкам не назначают обработчики событий, используя их как контейнеры для других объектов.Если вы хотите обратиться к элементу управления, который расположен на рамке, используйте такой же синтаксис, как и для доступа к объекту, расположенному на форме.Пример. Рассмотрим пример совместного использования рамок и радиокнопок. Предположим, нам нужно спроектировать интерфейс для настройки сохранения файлов из программы. В интерфейс должны входить три группы параметров – для выбора формата сохраняемого файла, для управления именованием файла (вручную или автоматически), и местом сохранения (так же вручную или автоматически).Создадим форму frm_First и добавим на нее две рамки — fra_First и fra_Second. Добавим две радиокнопки на форму (назовем их opt_1 и opt_2). Так же добавим по две радиокнопки в каждую из рамок. В рамку fra_First добавим кнопки opt_3 и opt_4, а в fra_Second — opt_5 и opt_6. Установим параметр TripleState равным True для всех радиокнопок. Подпишем радиокнопки и рамки так, как указано в таблице:| Подписи рамок и радиокнопок | ||
| Имя элемента управления | Свойство Caption | Value |
| Fra_First | Имена файлов | |
| Fra_Second | Место сохранения файлов | |
| opt_1 | Сохранить в TXT-файл | True |
| opt_2 | Сохранить в DOCX-файл | False |
| opt_3 | Автоматически | True |
| opt_4 | Задать вручную | False |
| opt_5 | Автоматически | True |
| opt_6 | Задать вручную | False |
Добавим на форму кнопку, назовем ее cmd_SetAuto и подпишем: "Автоматически", добавим еще одну кнопку – cmd_SetManual и подпишем ее "Вручную". Теперь создадим обработчики событий Click для кнопок. Кнопка cmd_SetAuto устанавливает радиокнопки с надписью "Автоматически"opt_3.Value = Trueopt_5.Value = TrueКнопка cmd_SetManual устанавливает радиокнопки с надписью "Вручную" opt_4.Value = Trueopt_6.Value = True На рисунке показана форма этого примера. Поэкспериментируйте с ней — убедитесь, что группы радиокнопок, расположенных в различных рамках, действуют независимо друг от друга.ToggleButtonToggleButton — выключатель. Это кнопка, которая может существовать в двух состояниях — включенном и выключенном. По действию она напоминает флажок, и обычно используется точно так же.Если кнопка находится во включенном состоянии — это может означать включение какой-либо опции, если в выключенном — выключении. Основное свойство такой кнопки — Value (Значение). Оно установлено в False (Ложь), когда кнопка находится в обычном состоянии, и в True (Истина), когда кнопка нажата.При изменении состояния кнопки генерируется событие Change (Изменение) — его можно использовать для проверки установленного значения и проведения каких-либо действий. На рисунке показана форма с размещенными на ней выключателями. Один из них включен, другой – выключен.ScrollBarScrollBar — полоса прокрутки. Используется для плавного изменения каких-либо значений. Например, это может быть выбор параметра из диапазона значений. При настройке этого элемента управления следует учесть, что для его нормальной работы надо установить следующие свойства:Max (Максимум) — максимальное значение полосы.Min (Минимум) — минимальное значение полосыSmall Change (Маленькое изменение) — шаг, с которым изменяется значение полосы при прокрутке с помощью кнопок.Large Change (Большое изменение) — шаг, с которым меняется значение при перетаскивании бегунка полосы с помощью мыши.Узнать текущее значение полосы можно, воспользовавшись ее свойством Value (Значение).При изменении значения полосы прокрутки генерируется событие Change (Изменение). Оно происходит после каждого изменения значения полосы. Если вы перетаскиваете бегунок с помощью мыши, новое значение полосы прокрутки будет сгенерировано лишь тогда