B. Размещение элементов управления на листе. — КиберПедия 

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

B. Размещение элементов управления на листе.

2021-05-27 35
B. Размещение элементов управления на листе. 0.00 из 5.00 0 оценок
Заказать работу

Задание №2 (повышенный уровень). Разместить на листе объект РИСУНОК, кнопку ПОЛЁТ и кнопку ДОМОЙ. Написать код программы, в результате которого при щелчке по кнопке ПОЛЁТ объект РИСУНОК должен двигаться к выделенной ячейке. При щелчке по кнопке ДОМОЙ объект РИСУНОК должен скачком уходить к ячейке А1.

 

Порядок выполнения.

  • Убедиться, что на диске компьютера есть файлы - картинки бабочки с открытыми крыльями и закрытыми крыльями BFLY1.bmp и BFLY2.bmp.
  • Приготовить чистый лист. Дать ему имя «Бабочка». Вызвать панель управления Visual Basic (Вид- ПАНЕЛИ ИНСТУМЕНТОВ –ЭЛЕМЕНТЫ УПРАВЛЕНИЯ). Войти в режим конструктора, щёлкнув по голубому треугольнику на панели ЭЛЕМЕНТЫ УПРАВЛЕНИЯ.
  • Выбрать на панели ЭЛЕМЕНТЫ УПРАВЛЕНИЯ инструмент «Рисунок» и разместить три объекта «Рисунок» в любой области таблицы. Настроить свойства объектов:

Первый объект «Рисунок»- Name- Img

                                          Autosize – True

                                     BackColor- белый

                                     BorderColor- белый

Второй объект «Рисунок»– Name –Img1       

                                          Autosize – True

                                          BackColor- белый

                                          BorderColor- белый

                                          Visible – Fale

                                           Picture- щёлкнуть по трём точкам и по файловой системе найти файл BFLY1.

Третий объект «Рисунок»- Name –Img2

                                          Autosize – True

                                          BackColor- белый

                                          BorderColor- белый

                                     Visible – Fale

                                          Picture- щёлкнуть по трём точкам и по файловой системе найти файл BFLY2.

с. Выбрать на панели управления инструмент «кнопка» и разместить его на листе. Настроить свойства кнопки:

                                          Caption –Полёт

                                          Name- CmdFly

с. Разместить на листе ещё одну кнопку и настроить её таким образом:

                                          Caption- ДОМОЙ

                                          Name- CmdHome.

     В результате на листе в режиме конструктора будут видны следующие объекты:

 

 

с. Щёлкнуть два раза отрывисто по кнопке CmdFly (Полёт) и войти в процедуру обработки события CmdFly_Click, щелчка по кнопке ПОЛЁТ. Написать следующий код:

Private Sub cmdfly_Click()

Dim i As Integer                         Объявляем вспомогательную переменную i (будет управлять открытием –закрытием крыльев)

Dim t As Single                          Объявляем вспомогательную переменную t (будет управлять скоростью процессов)

Do                                               Запускаем бесконечный цикл полёта.

If i Mod 2 = 0 Then                              Если i чётное, то

        Img.Picture = Img1.Picture         открытые крылья

 Else                                                     Иначе

            Img.Picture = Img2.Picture        Закрытые крылья

End If

 

t = Timer                                     фиксируем время

Do                                               Запускаем пустой цикл задержки на 0,5 сек     иначе всё будет происходить слишком быстро

DoEvents                          оператор прерывания процедуры «осмотрись»

Loop While Timer - t < 0.5         Закрываем цикл задержки 0,5сек.

Img.Left = Img.Left + (ActiveCell.Left - Img.Left) / 10 Задаём траекторию

Img.Top = Img.Top + (ActiveCell.Top - Img.Top) / 10   движения по направлению

                                                                          к выделенной ячейке

i=i+1                                           изменяем значение параметра i

If i> 100 THEN i=0                    делаем защиту от переполнения по i

DoEvents                                    вставляем оператор прерывания

Loop                                             Закрываем бесконечный цикл полёта

End Sub

с. Щёлкнуть два раза отрывисто по кнопке ДОМОЙ и внести следующий код:

Private Sub cmdhome_Click()

Img.Left = 0             Приводим бабочку в ячейку А1

Img.Top = 0                          

End                          Закрываем программу

End Sub

с. Закончить режим конструктора и убедиться, что при щелчке по кнопке «Полёт» бабочка летит к выделенной ячейке, а при щелчке по кнопке «ДОМОЙ» бабочка скачком возвращается в начало координат.

 

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

 

Изменить код программы «Бабочка» таким образом, чтобы:

o бабочка махала крыльями чаще в 5 раз.

o Чтобы бабочка подлетала к выделенной ячейке в два раза быстрее.

 

С. Макросы в диаграммах.

Задание № 3 (пороговый уровень). Построить график квадратной функции.Разместить на листе линейки прокрутки, управляющие значениями коэффициентов а, в, с.

Выполнение:

  1. В ячейку А1 внести заголовок: Таблица значений функции у=ах2+вх+с.
  2. В ячейку А3 внести имя аргумента: х.
  3. В А4 имя функции: у.
  4. В В23 внести имя коэффициента: а.
  5. В в О23 значение коэффициента а: -4.
  6. В В25 имя коэффициента - в, а в ячейку О25 его значение -70.
  7. В В27 имя коэффициента - с, а в ячейку О27 его значение -662.
  8. Заполнить В3:N3 значениями аргумента от -12 до 12 шагом 2.
  9. Заполнить В4:N4 значениями функции и построить график (как в лр.1).
  10. Выделить ось Х графика, щёлкнуть правой клавишей мыши, выбрать «формат оси», закладку «шкала» и перенести ось У в категорию 7.
  11. Аналогично войти в формат оси У, закладку «шкала» и настроить шкалу как на рис.64.

 

Рис. 64

  1. Вызвать панель управления Visual Basic (Вид- панели инструментов – Панель управления). Задать режим конструктора, щёлкнув по треугольнику на панели управления.
  2. Из набора инструментов панели управления выбрать «полосу прокрутки» и растянуть прямоугольник в области С23:N23. Не снимая выделения с появившейся полосы прокрутки, щёлкнуть по кнопке «свойства» панели управления и настроить свойства нового объекта:

Полоса прокрутки для а

Name-Scra               MIN- -10       MAX- 10       Value - -4

  1. Аналогично разместить ещё две полосы прокрутки, настроив их следующим образом:

Полоса прокрутки для в

Name – ScrB            MIN- -100      MAX- 100             Value- -70

Полоса прокрутки для с

Name- ScrC                       MIN—1000             MAX- 1000   Value- -662

    В результате на листе будут размещены объекты как на рисунке.

 

 

  1. Щелкнуть два раза отрывисто по ScrA. При этом откроется процедура обработки события изменения положения бегунка полосы прокрутки коэффициента «а» ScrA_Change. Внести следующий код, связывающий значение в ячейке А23 и положение бегунка.

 

Private Sub scra_Change()

 

Range("O23").Value = scra.Value

 

End Sub

 

  1. Повторить этот код в процедуре Scroll. Это рекомендуется делать для того, чтобы значения в ячейке А23 менялись не рывком, а плавно.

 

Private Sub scra_Scroll()

 

Range("O23").Value = scra.Value

 

End Sub

 

  1. Повторить эти действия для двух других линеек прокрутки.

Private Sub scrb_Change()

 

Range("O25").Value = scrb.Value

 

End Sub

 

Private Sub scrb_Scroll()

 

Range("O25").Value = scrb.Value

 

End Sub

 

Private Sub scrc_Change()

 

Range("O27").Value = scrc.Value

 

End Sub

 

Private Sub scrc_Scroll()

 

Range("O27").Value = scrc.Value

 

End Sub

 

  1. Закончить режим конструктора, щёлкнув по треугольнику на панели управления, изменить положение бегунков и убедиться, что связь линеек с функцией работает. При изменении положения бегунка «а» график изменяет направление ветвей, при изменении положения бегунка «в» график перемещается по горизонтали, при изменении «с» график перемещается по вертикали.

 

Задание №4 (повышенный уровень). Создать точечный график. Фоном графика задать рисунок с изображением звездного. Настроить вид точек графика как большие жёлтые круги – звёзды. Написать код, при котором изменяются положения точек:

  • При щелчке по кнопке «Мерцание» звёзды случайным образом появляются и гаснут
  • по щелчку по кнопке «звездопад» звёзды движутся в сторону Земли.
  • При щелчке по кнопке «Конец» всё останавливается.

 

 

Выполнение:

  1. Заполнить область A1:F2 первичными данными в соответствии с рисунком.
  2. Создать в ячейке А3 формулу =А2+0,5 и протянуть маркёром заполнения до С3.
  3. Создать в ячейке D3 формулу = D2-1 и протянуть маркёром заполнения до F3.
  4. Выделить область А2:F2 и вызвать мастер диаграмм. Заказать точечную диаграмму.
  5. В процессе построения диаграммы выбрать закладку «Ряд», определить область значений по оси Х - А2:С2, а область значений по оси У - D2:F2. Затем можно щёлкнуть по кнопке ГОТОВО. Получится график как на рисунке.

 

  1. Для осей Х и У произвести следующие настройки:

· Убрать галочки с «авто», т.е. сделать фиксированные шкалы осей.

· Значение мин=0, макс=40.

· Убрать метки делений (закладка «Вид»).

  1. Для «Формата области построения» заказать рисунок звёздного неба, например Star.jpg, предварительно расположенный на жестком диске.
  2. Выделить любую точку диаграммы, щёлкнуть правой кнопкой мыши и выбрать «Формат рядов данных». Настроить вид точки так, чтобы она выглядела типа жёлтой звёздочки. Размер маркёра задать 10.
  3. Удалить надпись Ряд 1.
  4. Указать левой кнопкой мыши на линии сетки, затем щёлкнуть правой и выбрать «Очистить». В результате пропадут линии сетки.
  5. На листе EXCEL Вызвать панель инструментов «Элементы управления». Задать Режим конструктора. Разместить рядом с диаграммой три кнопки. Настроить свойства каждой кнопки следующим образом:

 

 

№пп Свойство Значение
1 Name CMDgo
  Caption Звездопад
2 Name CMDstar
  Caption Мерцание
3 Name CMDend
  Caption Конец

 

  1. Щёлкнуть два раза отрывисто по кнопке «Звездопад», при этом откроется процедура описания кода события «Щёлчок по кнопке» CMDgo_Click, внести следующий код:

 

Private Sub CMDGo_Click()

Do                                               Запускаем бесконечный цикл

For j = 1 To 6                          Запускаем цикл заполнения исходных данных

ActiveSheet.Cells(2, j).Value = 40 * Rnd + 5 область А2: F 2 заполняется случайными числами

Next                                              в пределах от 5 до 45

Do                                               Запускаем цикл движения звёзд

  Range("A2:F2").Value = Range("A3:F3").Value С каждым шагом цикла координата по Х каждой точки графика изменяется на 0,5, а по У на -1.

   t = Timer                                      Цикл задержки на 0,1 сек

   Do                                       Оператор DoEvents означает «посмотри

       DoEvents                        вокруг», используется для того, чтобы во время паузы все процессы продолжались

  Loop While Timer - t < 0.1

Loop While Range("F2").Value > 0 Условие закрытия цикла движения - пока У3>0

Loop                                           Закрываем бесконечный цикл

 

End Sub

 

  1. Щёлкнуть два раза отрывисто по кнопке «Мерцание» и внести следующий код, (он отличается от предыдущего только тем, что нет цикла движения и уменьшена область случайных чисел, но увеличен цикл задержки):

Private Sub CMDStar_Click()

 

Do                                               Запускаем бесконечный цикл

For j = 1 To 6                          Заполняем исходные данные случайными числами

ActiveSheet.Cells(2, j).Value = 30 * Rnd + 5    заполняем область А2:F2случайными числами от 5 до 35

Next                                        Закрываем цикл заполнения

t = Timer                                         Запускаемцикл задержки на 0,2 ек

Do

   DoEvents

Loop While Timer - t < 0.2     Закрываем цикл задержки

Loop                                                 Закрываем бесконечный цикл

 

End Sub

  1. В процедуре кнопки «Конец» написать только одно слово «End», что означает останов всех процессов.

Private Sub cmdend_Click()

 

End                                  закончить программу

 

End Sub

  1. Закончить режим конструктора, убедиться в правильной работе кнопок. При щелчке по кнопке «Звездопад» точки начинают двигаться, при щелчке по кнопке «Мерцание» появляются и через некоторое время пропадают, при щелчке по кнопке «Конец» все останавливается.

 

ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

(повышенный уровень)

Изменить код программы таким образом, чтобы звёзды мерцали чаще, а падали не слева направо, а справа налево.


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.