Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-11-22 | 301 |
5.00
из
|
Заказать работу |
|
|
Элементы управления можно размещать не только на формах, но и в документах. Чтобы создать элемент управления в документе, нужно переключиться в режим конструктора. В Microsoft Word и Microsoft Excel это можно сделать с помощью кнопки Режим конструктора, которая расположена в группе Элементы управления вкладки Разработчик.
Включите режим конструктора, найдите среди элементов управления кнопку (рис. 4.16.) и разместите ее в документе.
Рис. 4.16. Добавление элементов управления в документы
Чтобы снабдить кнопку полезной нагрузкой в виде обработчика события или настроить ее свойства сделайте по кнопке двойной щелчок. Появится уже знакомый вам редактор кода.
Обратите внимание на то, что код, который соответствует кнопке, расположен в модуле редактируемого документа (ThisDocument).
В модуле видны два обработчика события. Дело в том, что мы переименовали кнопку — назвали ее cmd_First, поэтому нам пришлось создавать новый обработчик так как старый, созданный тогда, когда кнопка называласьCommandButton1, уже неактуален — его можно удалить. Также мы отредактировали свойство кнопки Caption, введя туда текст "Показать форму". Этот текст тут же отобразится на кнопке. Если текст не поместился на кнопке — можно изменить ее размеры.
Добавим в документ форму frm_First. Чтобы вызвать эту форму с помощью добавленной в документ кнопки, разместим в обработчике ее события Click такой код: frm_First.Show
Кнопка в документе заработает, когда вы выключите режим конструктора.
Убегающая кнопка
Задание
1. Создать в Microsoft Excel форму шириной 350 пикселей и высотой 200 пикселей.
2. Разместить на форме кнопки "Да", "Нет" и надпись: "Хотите ли вы получить прибавку к зарплате?".
|
3. Настроить свойства кнопки с надписью "Да" таким образом, чтобы на нее нельзя было перевести фокус ввода.
4. Написать программу, которая при наведении указателя мыши на кнопку с надписью "Да" перемещала бы эту кнопку в пределах формы.
Решение
Создадим новую форму, установим следующим образом ее свойства:
Name (Имя) — frm_MovingButton
Width (Ширина) — 350
Height (Высота) — 200
Caption (Заголовок формы) — Тест
Добавим на форму следующие элементы управления (табл. 4.4.)
Таблица 4.4. Элементы управления и их свойства | |||||
Название | Name (Имя) | Caption (Надпись) | Tabstop (Фокус ввода по нажатию клавиши Tab) | Height (Высота) | Width (Ширина) |
Кнопка №1 | cmd_Yes | Да | False | ||
Кнопка №2 | cmd_No | Нет | |||
Надпись | lbl_text | Хотите ли вы получить прибавку к зарплате? |
На рис. 4.17. вы можете видеть форму frm_MovingButton.
Рис. 4.17. Форма задачи об убегающей кнопке в окне редактора VBA
Дважды щелкнем по cmd_Yes. В редакторе кода выберем в поле событий MouseMove.
В тело обработчика события MouseMove для кнопки cmd_Yes введите такой текст (листинг 4.16).
cmd_Yes.Left = Rnd * 250cmd_Yes.Top = Rnd * 150Листинг 4.16. Код обработчика MouseMove кнопки cmd_Yes
В листинге 4.16. мы обращаемся к следующим свойствам кнопки cmd_Yes:
· Left — расстояние между кнопкой и левым краем формы.
· Top — расстояние между кнопкой и верхним краем формы.
Функция Rnd возвращает случайное число от 0 до 1. Для вычисления нового расстояния от кнопки до левого края формы умножаем случайное число на 250, до верхнего края формы – на 150. Эти значения взяты не случайно. Ниже приведен их расчет.
250 = (ширина формы) – (ширина кнопки) – (запас по ширине)= 350-80-20150 = (высота формы) – (высота кнопки) – (запас по высоте) = 200 – 30 – 20Каждый раз, когда пользователь наводит указатель мыши на кнопку cmd_Yes, кнопка случайным образом меняет положение на форме. Значит, с помощью мыши он не сможет нажать на кнопку.
Кнопки на формах можно нажимать не только с помощью мыши. Если на кнопке установлен фокус ввода (как вы знаете, он перемещается по элементам управления по нажатию клавиши Tab на клавиатуре), "нажать" на кнопку можно, нажав клавишу Пробел или Enter. Свойство Tabstop кнопки cmd_Yes мы установили равным False — то есть кнопка не сможет получить фокус ввода и ее нельзя будет нажать даже с использованием клавиатуры.
|
Для того чтобы программа приобрела законченный вид, добавим обработчики события Click для кнопок cmd_No и cmd_Yes. Нажатие на кнопку cmd_No должно вывести надпись: "Спасибо за участие в опросе" и завершить программу. А если пользователю все же удастся нажать на неуловимую cmd_Yes (это возможно, если кнопка "прыгнет" так, что окажется под указателем мыши), должна вывестись какая-нибудь подходящая надпись.
Для удобства работы с программой добавьте на лист MS Excel кнопку cmd_Show_Form, которая вызывала бы форму программы. Используйте метод Show формы frm_MovingButton, чтобы отобразить ее по нажатию на кнопку (листинг 4.17).
Frm_MovingButton.ShowЛистинг 4.17. Код обработчика Click кнопки cmd_Show_Form
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!