- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Офисное программирование - Ирина Фризен
Шрифт:
Интервал:
Закладка:
TextBox1.Text = CStr(Format(Результат, «Fixed»))
End Sub
Процедура нажатия кнопки «Закрыть»
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
Процедура инициализации диалогового окна заключается в заполнении списка и выводе его на форме, организации всплывающих подсказок, запрещении ввода текста в поле результата на форме.
Private Sub UserForm_Initialize()
With ListBoxl
List = Array(1, 3, 4, 5, 6, 7, 8, 10)
Listlndex = 0 'начальная индексация массива
MultiSelect=fmMultiSelectMulti
End With
' Первоначальный выбор переключателя Сумма при инициализации диалогового окна и задание текста всплывающих подсказок у переключателей With OptionButton1.Value = True
ControlTipText ="Сумма выбранных элементов"
End With
OptionButton2.ControlTipText ="Произведение выбранных элементов"
OptionButton3.ControlTipText = «Среднее значение выбранных элементов»
' Поле Результат не доступно для пользователя
TextBox1.Enabled = False
' Назначение клавише <Enter> функции кнопки Вычислить и задание текста всплывающей подсказки
With CommandButton1
Default = True
ControlTipText = «Нахождение результата»
End With
' Назначение клавише <Esc> функции кнопки Закрыть и задание текста всплывающей подсказки
CommandButton2.Cancel = True
' Задание заголовка пользовательской формы
UserForm1.Caption = «Операции над элементами списка»
UserForm1.Show
End Sub
Примечание. Интересной особенностью приводимой процедуры инициализации UserForm_initialize является то, что заголовок диалогового окна вводится программно при помощи свойства Caption, а не вручную при помощи окна Properties.
Пример 23. Разработать программу нахождения среднего балла студентов, выбранных из списка в диалоговом окне «Средний балл». Список содержит фамилию студента и его средний балл (двумерный массив) (рис. 41).
Рис. 41. Разработанная форма примера 23 в рабочем состоянии
Дополнительно для каждого элемента управления следует прописать процедуры для осуществления всплывающих подсказок.
При выполнении задания опирайтесь на приводимые ниже примечания.
Примечание. Обратите внимание на то, что в отличие от примера 22 данный пример требует ввода двумерного списка: столбца фамилий и столбца оценок. Фактически разница заключается лишь в том, что в приведенном примере массив ListBoxl.List, отвечающий за список элементов, был одномерным, а в данном случае должен быть двумерным. Сделать это можно двумя способами:
• непосредственно заполнить двумерный массив ListBoxl.List;
• задать произвольный двумерный массив, а затем присвоить его значение для ListBoxl.List (см. п. 3.1 и 4.1).
Соответственно, для расчета среднего балла следует воспользоваться только элементами второго столбца массива, т. е. вторая координата массива ListBoxl.List должна быть фиксирована на 1 (если индексация массива положена с нуля) или на 2 (если индексация массива положена с 1).
4.3. Элементы управления MultiPage, ScrollBar, SpinButton[2]
Коллекция ControlsДля доступа к набору элементов управления диалогового окна можно использовать коллекцию Controls, включающую все элементы управления окна. Каждый элемент управления имеет в этой коллекции индекс, значение которого может быть числом или строкой. Для первого элемента управления индекс равен 0. Числовые индексы определяются порядком размещения элементов в коллекции. Строковое значение индекса соответствует имени (Name) элемента.
Пример 24. Создать форму, имеющую пять элементов: метка, текстовое поле, список, две кнопки. Ввести в текстовое поле и список по умолчанию текст «поле 1», «список 1» (свойство text соответственно у каждого элемента). Первая кнопка «Нажми» выполняет следующее действие: вызывается диалоговое окно, в котором запрашивается разрешение на удаление очередного элемента формы (их пять). Ответ «да» или «нет» выполняет соответствующее действие. Кнопка «Закрыть» закрывает диалоговое окно.
Примечание. Используя коллекцию Controls, программно в цикле организовать скрытие (не удаление!) элементов управления диалогового окна MyForm (свойство Name формы).
Технология выполнения
1. Запустите приложение Word, сохраните новый документ.
2. Создайте форму в режиме конструктора (рис. 42).
Рис. 42. Форма примера 24
3. Обработайте кнопки Нажми и Закрыть.
Кнопка Нажми
Private Sub CommandButton1_Click()
For Each Ctrl In myForm.Controls 'цикл по всем элементам управления
msgCode = vbYesNo + vbQuestion
'Вопрос об очередном элементе управления:
Answer = MsgBox(prompt:="Cкрыть элемент " & Ctrl.Name,
Buttons:=msgCode, Title:="Bonpoc")
If Answer = vbYes Then 'ответ «Да»
Ctrl.Visible = False 'скрыть очередной элемент
End If
Next Ctrl
End Sub
Кнопка Закрыть
Private Sub CommandButton2_Click()
Unload Me
End Sub
4. Откомпилируйте приложение.
5. Запустите на выполнение (рис. 43, 44, 45).
Примечание. Скрытие ненужных элементов в форме можно произвести и другим способом (например, если в форме слишком много элементов, то до нужного добираться по циклу нерационально). Для этого используют свойство Click элементов управления.
Рис. 43. Первоначальный запуск формы и вызов процедуры кнопки Нажми
Рис. 44. Выполнение скрытия элемента label1 и следующий запрос
Рис. 45. Вид формы перед удалением последнего элемента управления
В этом случае необходимо только щелкнуть по нужному элементу и прописать код, для каждого элемента свой:
Private Sub Label1_Click()
msgCode = vbYesNo + vbQuestion
Answer = MsgBox(prompt:="Cкрыть элемент",
Buttons:=msgCode, Title:="Вопрос")
If Answer = vbYes Then
Label1.Visible = False
Else
Label1.Visible = True
End If
End Sub
В результате работа формы будет более рациональной (рис. 46).
Рис. 46. Работа формы по щелчку скрываемого элемента
Набор страниц MultiPageЭлемент управления MultiPage объединяет несколько независимых диалоговых окон – страниц (вкладок). Заголовки страниц обычно видны на одной из сторон элемента на их закладках, а переход на страницу происходит после щелчка по ее закладке. Этот простой переход с одной страницы на другую и делает MultiPage удобным средством для представления разнородных данных, относящихся к одному объекту. Такие данные в «бумажных» офисах хранятся обычно в отдельных папках и образуют дела, досье и т. д. Каждая страница из Multipage – это объект типа Page, а все они включены в коллекцию Pages (страницы). При создании элемента MultiPage в него автоматически помещаются две страницы с именами Page1 и Раgе2. Имена можно изменять, присутствует возможность добавления и новых страниц. Рассмотрим основные свойства набора страниц.
• Свойство count определяет, какое количество страниц возвращается.
• Свойство value для элемента multipage определяет номер текущей активной страницы в коллекции pages.
• Свойство selecteditem (его можно только читать) возвращает текущую активную страницу (как объект). Его можно использовать для считывания и установки свойств этой страницы и входящих в нее элементов управления.
• Свойство style определяет, в каком виде представляются заголовки страниц. По умолчанию оно равно fmtabstyletabs = 0 и задает представление заголовков в виде закладок в полосе заголовков. Каждая закладка с заголовком находится внутри границ своей страницы. Если значение fmtabstylebuttons = 1, то заголовок каждой страницы находится на отдельной кнопке, расположенной в полосе заголовков. Переход на страницу происходит после выбора кнопки с ее заголовком. Если же значение fmtabstylenone = 2, то полоса с заголовками страниц на экран не выводится.
• Свойство taborientation задает расположение полосы с заголовками страниц (табл. 13).
Таблица 13
Значения свойства TabOrientation• Булево свойство multirow позволяет создать несколько полос с закладками (по умолчанию его значение равно false, что соответствует одной полосе закладок).
• Свойства tabfixedheight и tabfixedwidth устанавливают или возвращают высоту и ширину закладки (в точках). При значении 0 ширина закладок устанавливается автоматически, так чтобы в каждой закладке помещалось ее название и занимало всю ширину элемента. При значениях больше 0 у всех закладок одинаковые размеры, заданные свойством TabFixedWidth. Минимально возможный размер закладки – 4 точки.
Для того чтобы редактировать свойства элемента MultiPage, необходимо выделить этот элемент так, чтобы рамка вокруг элемента выделилась точками (рис. 47). Для этого щелкните по самой рамке, если она выделена черной штриховкой.
Рис. 47. Рамка элемента multipage
Если необходимо установить свойства самих вкладок, необходимо щелкнуть по ним, после чего рамка станет выделяться черной штриховкой (рис. 48).

