Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2022-10-29 | 21 |
5.00
из
|
Заказать работу |
|
|
mvarError = ““ 'формирование значения свойства Errors
If Y = 0 Then ‘деление на ноль
mvarError = “Деление на ноль“ ‘формирование значения свойства Errors
RaiseEvent OnErrors(mvarError) ‘генерация события OnErrors
div = 0 ‘возвращение нуля в качестве результата
Else: ‘деление возможно
div = round(X / Y, mvarroundres) ‘формирование результата X/Y
End If
End Function
Public Function mult(ByVal X As Double,ByVal Y As Double)As Double’X*Y
mvarError = ““ 'формирование значения свойства Errors
mult = round(X * Y, mvarroundres) ‘формирование результата X*Y
End Function
Public Function add(ByVal X As Double,ByVal Y As Double)As Double ’X+Y
mvarError = ““ 'формирование значения свойства Errors
add = round(X + Y, mvarroundres) ‘формирование результата X+Y
End Function
Private Sub Class_Initialize() ‘инициализация при создании объекта
mvarError=““: mvarroundres=3 ‘умалчиваемые значения
End Sub
8. Разместим на форме кнопки Command1, Command2 (для тестирования работы класса) и составим процедуры для этой формы.
‘(General) (Declarations) ‑ раздел глобальных объявлений формы
‘объявление объектной переменной obCalc типа Calc с событиями класса
Private WithEvents obCalc As calc
Private Sub Form_Load() ‘процедура загрузки формы
Set obCalc = New Calc ‘создание объекта obCalc класса Calc
obCalc.roundres = 6 ‘свойству Roundres присваивается значение 6
End Sub
Private Sub Command1_Click() ‘процедура проверки деления
Debug.Print obCalc.div(6, 0) ‘выполнение метода div (6/0!) и вывод
If obCalc.Errors <> ““ Then MsgBox obCalc.Errors ‘сообщение об ошибке
End Sub
Private Sub Command2_Click() ‘процедура проверки сложения
Debug.Print obCalc.add(6,8) ‘выполнение метода Add (6,8) и вывод суммы
End Sub
Private Sub obCalc_onerrors(nameerror As Variant) ‘cобытие Onerrors
|
MsgBox “Событие OnErrors “+nameerror+”!” ‘вывод сообщения об ошибке
End Sub
9. Сохраним и выполним приложение.
Аналогичным образом можно создать класс на основе класса Calc.
Вопросы для самопроверки и контроля
Вопросы для самопроверки
1. В чем состоит разница между закрытыми и открытыми процедурами?
2. Что означает слово Public в заголовке процедуры или функции?
Контрольные вопросы
1. Что означает слово Private в заголовке процедуры или функции?
2. Какие процедуры содержит модуль формы?
3. В чем заключается отличие класса от модуля?
4. Что означает слово WithEvents в объявлении объекта?
5. В чем состоит разница между процедурами-свойствами типа Get и Let?
Глава 8. Разработка интерфейса
Меню
. Для формирования меню выполните команду Tools/Menu Editor. Появится окно редактора меню (рис. 8.1.1) с предлагаемым далее примером. Элементы меню обладают свойствами и поддерживают одно событие Click. Для каждой формы может быть не более одного меню. Меню прикрепляется к левому верхнему углу формы.
Специфичные свойства
Caption ‑ определяет текст строки меню, выводимый на экран. Если указать “ & ”, то следующий за ним символ будет подчеркнут и станет символом ускоренного вызова при совместном нажатии клавиши Alt для открытия меню. Для включения в меню строки-разделителя нужно указать Caption=”-“; при этом указывается значение и для Name.
Name ‑ определяет программное имя элемента меню для ссылок.
Checked - помечает или удаляет “галочку” рядом с выбранной строкой меню, включая или выключая состояние команды меню.
ShortCut - задает клавишу прямого вызова команды меню, не открывая меню.
Enabled ‑ запрещает/разрешает использование команды меню.
Visible ‑ запрещает/разрешает отображение на экране команды меню.
Index ‑ используется в режиме динамического формирования специальных меню как номер элемента массива с пунктами меню (п.8.2).
Горизонтальные стрелочки используются для перемещения строк по уровням иерархии строк, вертикальные ‑ для перемещения строк по вертикали. Кнопки Next, Insert и Delete используются, соответственно, для перехода на формирование следующей строки меню, вставки новой строки перед текущей и удаления текущей строки меню.
|
Для определения процедуры, которая выполняется при выборе строки меню, нужно раскрыть меню и щелкнуть мышкой на этой строке. Появится программное окно для набора текста этой процедуры.
Рекомендуется пункты меню, которые вызывают диалоговые окна, заканчивать троеточием.
Пример создания меню (рис. 8.1.2).
Используя меню, можно изменять цвет формы на красный, синий, белый или на любой, который пожелает пользователь; можно изменить размер формы на маленький, или на большой (на весь экран).
Меню состоит из двух пунктов первого уровня (цвет, размер), двух подменю второго уровня (первое: выбрать цвет, выход (Exit) и второе: маленький (Small) и большой (Big)) и одного подменю третьего уровня: красный (Red), синий (Blue), белый (White) и любой (Any) (рис. 8.1.1) Разместим на форме объект Common Dialog для настройки цвета (пп. 8.4.1, 8.4.4).
Приведем тексты процедур.
Private Sub Form_Load() ‘процедура загрузки формы
white.Enabled = False ‘блокировка строки “Белый”, форма уже белая
small.Enabled = False ‘блокировка строки меню “Маленький”
End Sub
Private Sub red_Click() ‘процедура обработки строки меню “Красный”
Form1.BackColor = QBColor(4) ‘цвет формы меняется на красный
red.Enabled = False ‘блокировка строки “Красный”, форма уже красная
blue.Enabled = True ‘разблокировка строки “Синий”
white.Enabled = True ‘разблокировка строки “Белый”
End Sub
Private Sub blue_Click() ‘процедура обработки строки меню “Синий”
Form1.BackColor = QBColor(1) ‘цвет формы меняется на синий
red.Enabled = True ‘разблокировка строки “Красный”
blue.Enabled = False ‘блокировка строки “Синий”, форма уже синяя
white.Enabled = True ‘разблокировка строки “Белый”
End Sub
Private Sub white_Click()‘процедура обработки строки меню “Белый”
Form1.BackColor = QBColor(15) ‘цвет формы меняется на белый
red.Enabled = True ‘разблокировка строки “Красный”
blue.Enabled = True ‘разблокировка строки “Синий”
white.Enabled = False ‘блокировка строки “Белый”, форма уже белая
End Sub
Private Sub any_Click() ‘процедура обработка строки меню “Любой”
CommonDialog1.Flags = cdlCCRGBInit ‘диалог выбора цвета (п.8.4.4)
|
CommonDialog1.ShowColor ‘вывод окна настройки цвета (рис.8.4.4.1)
Form1.BackColor = CommonDialog1.color ‘цвет формы меняется на новый
red.Enabled = True: blue.Enabled = True: white.Enabled = True
End Sub
Private Sub small_Click()‘процедура обработки строки “Маленький ”
Form1.WindowState = 0 ‘уменьшение размера формы
small.Enabled = False ‘блокировка строки меню “Маленький”
big.Enabled = True ‘разблокировка строки меню “Большой”
End Sub
Private Sub big_Click() ‘процедура обработки строки меню “Большой”
Form1.WindowState = 2 ‘распахивание формы на весь экран
small.Enabled = True ‘разблокировка строки меню “Маленький”
big.Enabled = False ‘блокировка строки меню “Большой”, уже большая
End Sub
Private Sub exit_Click()‘процедура обработки строки меню “Выход”
End ‘окончание работы программы
End Sub
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!