Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
|
из
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
|
|
|
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!