Шрифт:
Интервал:
Закладка:
Если вы еще не знаете, что такое система координат, то все же постарайтесь изучить этот раздел, без него дальше будет трудно.
В школе вы привыкли к такой системе координат:
На экране компьютера применяется такая:
Как видите, ось у направлена вниз. Это не очень привычно. Если вас это раздражает, то Visual Basic может вам предложить исправить ситуацию. Однако, редко кто пользуется этой возможностью, поэтому и вам будет полезно привыкнуть к компьютерной системе.
Как нам управлять положением объектов на экране? Выделите любой объект на форме и загляните в его свойства Left и Тор.
Значение свойства Left — это расстояние левого края объекта от левого края формы.
Значение свойства Тор — это расстояние верхнего края объекта от верхнего края формы.
Таким образом, для объектов на форме действует компьютерная система координат с началом в верхнем левом углу формы. Убедитесь в этом — потаскайте любой объект по форме, следя за значениями Left и Тор. Добейтесь:
нуля в одном свойстве
нуля в другом свойстве
нуля в обоих свойствах
максимума в одном свойстве
максимума в другом свойстве
максимума в обоих свойствах
минуса в одном свойстве
минуса в другом свойстве
минуса в обоих свойствах
Единицей измерения расстояния в Visual Basic является твип. Это очень маленькая величина и на пространстве экрана ее нельзя однозначно выразить в долях миллиметра. Ее значение зависит от разрешающей способности видеорежима. В твипах выражаются свойства Left, Top, Width (ширина объекта) и Height (высота объекта). Потаскайте правую и нижнюю границы объекта, следя за значениями Width и Height.
В режиме проектирования мы не можем таскать форму по экрану за заголовок, да это и не нужно. Изменяя свойства Left и Тор формы, мы управляем местом ее появления на экране после запуска проекта. Для формы начало компьютерной системы координат находится в левом верхнем углу экрана
В режиме работы положением и размерами объектов мы управляем просто:
Form1.Left = 2000
Похвальное дело снабжения нашего калькулятора различными "приколами" я вывожу в задание для самостоятельной работы:
Задание 5: Пусть при нажатии на клавишу вычитания эта клавиша прыгает куда-нибудь совсем в другое место калькулятора и на ней вместо минуса появляется текст типа "Я устала вычитать" или "Не трогай меня — я нервная!". Когда это у вас получится, сделайте так, чтобы при нажатии на клавишу СБРОС клавиша вычитания скромно возвращалась на место и принимала свой прежний вид.
Вывод сообщений — MsgBox
Можно заставить компьютер в любой момент выполнения программы выводить нам какое-нибудь сообщение. Например, пусть калькулятор при завершении работы выдает такое окно сообщения:
Для этого подойдет такой новый для нас оператор:
MsgBox ("А теперь считайте в уме!")
Чтобы он выполнился именно при завершении работы, его нужно поместить в процедуру Form_Terminate.
Прочитав сообщение, щелкните ОК.
Вы не забыли, что все, мною сказанное, нужно проверять?
Меню пользователя
Какая же программа без своего меню! Нашему калькулятору оно, вроде бы, ни к чему, но, все равно, интересно и полезно сделать хотя бы простенькое. Пусть оно выглядит так:
Задачу поставим такую: Щелкнув по пункту "Настройка цвета", мы должны увидеть выпадающее меню из двух пунктов. Щелкнув по пункту "Синий" этого выпавшего меню, мы красим калькулятор в синий цвет, щелкнув по пункту "Красный" — в красный.
Щелкнув по пункту "О программе", мы вызываем сообщение описанием программы.
Нам предстоит создать меню, тем заставить его работать.
Создаем меню. Чтобы его создать, достаточно в главном меню Visual Basic выбрать Tools -> Menu Editor. Перед вами возникнет следующее диалоговое окно —>
Начнем с настройки цвета. Введем в поле Caption текст "Настройка цвета". Это для того, чтобы пункт меню с этим текстом появился на форме. По мере ввода этот текст возникает и в поле, расположенном ниже.
Теперь придумаем этому пункту имя, например, пункт_меню_Настройка_цвета, и введем его в поле Name. Это чтобы пункт меню мог заработать. Если хотите вызывать этот пункт не только мышкой, но и с клавиатуры, выберите что-нибудь из списка Shortcut.
Щелкните по кнопке Next и займитесь пунктом "Синий", дав ему имя пункт_меню_Синий.
Щелкните по кнопке Next и займитесь пунктом "Красный", дав ему имя пункт_меню_Красный.
Щелкните по кнопке Next и займитесь пунктом "О программе", дав ему имя пункт_меню_О_программе.
В результате в окне возникает список из 4 пунктов —>
Теперь нужно объяснить компьютеру, что пункты "Синий" и "Красный" входят внутрь пункта "Настройка цвета". Для этого выделим их по очереди и сдвинем направо кнопкой —>. Получается такая картинка —>
Если у вас что-то не получается, то вы все же можете добиться своего, используя все клавиши, показанные на картинке. Стрелки сдвигают выделенный пункт меню, Delete удаляет, Insert вставляет новый пункт.
Все в порядке — внешний вид меню готов. Запустите проект. Вы видите, что меню желаемого вида появилось на калькуляторе. Пощелкайте по пунктам. Естественно, ничего не происходит. Для того, чтобы происходило, нужно заставить меню работать, а для этого нужно для каждого пункта написать свою процедуру.
Заставляем меню работать. В режиме проектирования выберем пункт меню "Синий" и щелкнем по нему. В окне кода появляется заготовка процедуры:
Private Sub пункт_меню_Синий_Сliск ()
End Sub
Вы уже наверняка догадались, что это приглашение объяснить компьютеру, что нужно делать при выборе пункта "Синий". Для этого подойдет парочка операторов:
Form1.Picture = LoadPicture()
Form1.BackColor = vbBlue
Второй оператор красит форму в синий цвет, первый убирает с формы картинку, если она там была (сравните с материалом перед заданием 3 из 0).
Аналогично программируем пункт "Красный". А сообщение о программе обеспечит оператор
MsgBox ("Программа создана в 2000 году")
Запустите проект и проверьте, как он работает.
Средствами Visual Basic можно создавать, преобразовывать и уничтожать меню не только в режиме проектирования, но и в режиме работы. Кроме обычных меню Visual Basic умеет создавать и так называемые контекстные меню. Ни на том, ни на другом я не буду останавливаться.
Кино в проекте
Все есть у нашего калькулятора — и картинки, и