Работа с несколькими проектами
Visual Basic позволяет одновременно работать с несколькими проектами. В окне проекта эти проекты и их компоненты отображаются в виде иерархического дерева. Новичку вряд ли потребуется открывать несколько проектов, однако при создании элементов ActiveX (мы займемся этим в уроке 17, «Использование ActiveX») бывает удобно открыть один проект для работы над объектом, а другой — для его тестирования.
Если вы еще не установили примеры приложений, входящие в комплект Visual Basic, вам придется сделать это сейчас. Установка примеров выполняется так:
1. Запустите программу MSDN Library - Visual Basic б Setup при помощи значка Установка и удаление программ (Add/Remove Program) на панели управления.
2. Нажмите кнопку Добавить/удалить (Add/Remove), чтобы начать процесс установки.
3. Когда откроется диалоговое окно MSDN Library - Visual Studio 6.0, нажмите кнопку Add/Remove.
4. Установите в диалоговом окне MSDN Library - Visual Studio б.О флажок рядом со строкой VB Product Samples. Если флажок окрашен в серый цвет, нажмите кнопку Select All.
5. Нажмите кнопку Continue, чтобы завершить процесс установки.
Установив примеры приложений, вы можете опробовать возможность работы с несколькими проектами на следующем примере:
1. Выполните команду File > Add Project.
2. В диалоговом окне Add Project перейдите на вкладку Existing.
3. Выберите файл FirstApp.vbp из подкаталога \MSDN98\98vs\1033\Samples\VB98\ FirsАрр.
4. Нажмите кнопку Open; проект FirstApp включается в IDE.
5. Выполните команду File > Add Project, чтобы добавить еще один проект.
6. Снова перейдите на вкладку Existing в диалоговом окне.
7. Выберите файл Controls.vbp из подкаталога \MSDN98\98vs\1033\Samples\VB98\ Controls; проект Controls также включается в IDE.
Вот и все, что нужно сделать для открытия нескольких проектов. При желании вы можете добавить к ним и другие проекты, но делать это вам придется крайне редко. Скорее всего, вы начнете работать с несколькими проектами при создании серверов и клиентов ActiveX.
ПРИМЕЧАНИЕОдновременная работа с несколькими проектами — полезный навык, который приходит с опытом. Тем не менее во всех уроках этой книги будет открываться лишь один проект.
Настройка IDE
Хотя в версии 6 Visual Basic интегрированная среда содержит много дополнительных усовершенствований, ее можно настроить по вашему вкусу. Например, вы можете определить количество пробелов при табуляции, изменить цвет окна программы, закрепить панели инструментов и сделать многое другое. Любые изменения в параметрах IDE начинаются с команды Tools >• Options. На вкладках диалогового окна Options содержатся многие параметры IDE, с которыми мы вскоре познакомимся.
Вкладка Editor
Начнем со вкладки Editor (рис. 1.11). Многие из находящихся на ней параметров новичку покажутся непонятными, но постепенно вы приобретете опыт и научитесь настраивать свою рабочую среду на вкладке Editor.
Рис. 1.11. Вкладка Editor
В группе Code Settings собраны параметры, непосредственно влияющие на работу редактора. После выполнения команды Tools > Options попробуйте поэкспериментировать со следующими вариантами:
Установите флажок Auto Syntax Check, чтобы редактор автоматически находил синтаксические ошибки в программе в режиме конструирования. Этот флажок стоит оставить установленным, что поможет обнаруживать некоторые ошибки на ранней стадии.
Установите флажок Require Variable Declaration, чтобы любые переменные в программе могли использоваться лишь после предварительного объявления.
Установите флажок Auto List Members, чтобы редактор автоматически выводил список членов объекта, на который вы ссылаетесь в программе. Свойства и методы автоматически отображаются в позиции курсора при вводе программы. Все, что от вас требуется, — щелкнуть на нужном свойстве или методе.
ПОДСКАЗКАВсегда держите флажок Require Variable Declaration установленным. Он включает единственную строку — Option Explicit — в секцию General Options каждых формы, модуля и класса. Это спасет вас от долгих бесплодных часов отладки крупных приложений в будущем. По мере накопления опыта программирования вы убедитесь, что многие ошибки обусловлены неверным типом переменных или вычисленных выражений. Присвоение значений переменным правильного типа уменьшает количество таких ошибок. Если вы еще не привыкли пользоваться этим флажком, привыкайте сейчас.
Установите флажок Auto Quick Info, чтобы разрешить или запретить вывод информации о функциях и их параметрах. Этот параметр особенно полезен для новичков; после установки флажка Visual Basic сопровождает рекомендациями процесс ввода в окне программы.
Установите флажок Auto Data Tips, чтобы на экране отображалось значение переменной, находящейся под указателем мыши. Этот флажок особенно удобен во время отладки приложения.
Установите флажок Auto Indent, чтобы в программе автоматически расставлялись отступы, состоящие из определенного количества пробелов. Он упрощает написание структурных программ. Аккуратно написанная программа легче читается, а это может сильно помочь в процессе отладки. По мере знакомства с примерами в последующих уроках вы увидите, как выглядят структурные программы.
В поле Tab задается количество пробелов, вставляемых редактором в программу при нажатии клавиши Tab. По умолчанию используются четыре пробела, однако вы можете увеличить или уменьшить это число. Количество пробелов в позиции табуляции зависит от вашего личного вкуса.
Группа Window Settings содержит всего три флажка:
Установите флажок Drag-and-Drop Text Editing, если вы хотите разрешить перетаскивание фрагментов текста в окне программы.
Установите флажок Default to Full Module View, если в редакторе должны отображаться все процедуры текущего объекта. Если вы предпочитаете просматривать их последовательно, снимите этот флажок.
Установите флажок Procedure Separator, если в режиме вывода всех процедур (флажок Default to Full Module View) между текстами процедур должны присутствовать визуальные разделители. Я рекомендую устанавливать этот флажок в режиме просмотра всех процедур.
Вкладка Editor Format
Как видно из рис. 1.12, на этой вкладке выбираются цвета и шрифты, используемые в редакторе. Назначение этой вкладки понятно без комментариев, поэтому мы не будем подробно рассматривать ее.
Рис. 1.12. Вкладка Editor Format
Вкладка General
Вкладка General (рис. 1,13) предназначена для настройки различных аспектов IDE — например, вывода линий сетки на формах, обработки ошибок и компиляции. Не беспокойтесь, если некоторые из приведенных терминов покажутся непонятными. Их смысл будет разъясняться в тексте книги по мере изложения материала.
В группе Form Grid Settings можно задать расстояние между узлами сетки. Сетка используется для выравнивания элементов на форме. Обычно значения по умолчанию оказываются достаточно удобными.
Группа Error Trapping позволяет задать «чувствительность» обработки ошибок. Работа вашего приложения может прерываться при возникновении любой ошибки, ошибки в модуле класса или при любой необработанной ошибке. Необработанной называется ошибка, для которой вы не написали функцию перехвата. Оставьте в этой группе переключатель, установленный по умолчанию (Break in Class Module).
Группа Compile содержит следующие параметры:
Установите флажок Compile on Demand, чтобы Visual Basic компилировал вашу программу по мере ее написания. Это ускоряет запуск программы командой Run > Start. Этот флажок устанавливается по умолчанию.
Флажок Enable Background Compile позволяет вам продолжать работу, пока Visual Basic компилирует приложение. Этот флажок устанавливается по умолчанию.
На вкладке General имеется еще два флажка:
При установке флажка Show Tool Tips Visual Basic отображает подсказку с описанием управляющего элемента, если задержать над ним указатель мыши. Это
полезная возможность особенно пригодится тем, кто только начинает работать с Visual Basic.
Установите флажок Collapse Proj. Hides Windows, чтобы при свертывании проекта в окне проекта сворачивались и все связанные с ним окна.
Рис. 1.13. Вкладка General
Вкладка Docking
На вкладке Docking (рис. 1.14) можно указать, какие окна в IDE могут закрепляться в определенной позиции экрана. Как говорится, комментарии излишни.
Рис. 1.14. Вкладка Docking.
Добавить страницу
ПОДСКАЗКАПоскольку мы не сможем рассмотреть все аспекты IDE в одном уроке, я рекомендую вам просмотреть все команды меню и выяснить их назначение. Как было сказано выше, окно программы необходимо знать в совершенстве — впрочем, это относится ко всей IDE. Co временем работа в IDE войдет в привычку, и ваши усилия будут направлены на разработку программ, а не на укрощение IDE.
Наше первое приложение
После краткого знакомства с интегрированной средой, с ее новыми и улучшенными возможностями, настало время применить полученные знания на практике и создать простейшее приложение. Возможно, вам приходилось слышать о том, что первым «настоящим» приложением для большинства программистов становится маленькая программа «Hello World».
У программистов существует традиция — начинать работу с новым языком с построения именно этой программы. При всей своей простоте программа «Hello World» позволяет добиться реальных результатов при минимальном объеме кода и понять основные принципы работы с Visual Basic и IDE. Итак, приготовьтесь вступить в легион программистов, благополучно укротивших программу «Hello World».
Приложение Hello World
Приложение Hello World создается так:
1. Выполните команду File > New Project Возможно, Visual Basic предложит сохранить изменения в предыдущем проекте, с которым вы экспериментировали. Откажитесь от сохранения кнопкой No; если же вы хотите сохранить свою работу, нажмите кнопку Yes.
2. Если окно макета формы отсутствует на экране, откройте его командой View > Form Layout Window.
3. Щелкните на форме в окне макета правой кнопкой мыши. Выберите из контекстного меню команду Startup Position > Center Screen, чтобы расположить форму в центре экрана.
ПОДСКАЗКА
Форму можно перемещать, перетаскивая ее мышью в окне макета. В контекстном меню присутствуют и другие варианты расположения формы.
4 Измените размеры формы, перетащив ее края. В окончательном варианте она должна иметь размеры около 7 см в ширину и 5 см в высоту.
5 Дважды щелкните на элементе-кнопке (Command Button) в панели элементов, чтобы создать в центре формы кнопку стандартного размера. Оттащите кнопку в нижнюю часть формы.
6 Дважды щелкните на элементе-надписи (Label) в панели элементов, чтобы создать на форме надпись. Перетащите надпись так, чтобы она располагалась над кнопкой. Приблизительно измените размеры надписи, чтобы в ней помещалась одна строка текста «Hello World». Форма должна выглядеть так, как показано на рисунке.
7. Выделите форму, щелкнув на ней мышью. О том, что выделена именно форма, а не один из размещенных на ней элементов, можно судить по содержимому окна свойств. Если это окно отсутствует на экране, нажмите F4.
8. Задайте значения двух свойств формы, имена которых указаны в столбце Свойство.
Свойство | Значение |
Caption | Мое первое приложение |
Name | frmHelloWorld |
Текст, присвоенный свойству Caption, будет выведен на заголовке формы. С помощью очень важного свойства Name мы будем ссылаться на форму в программе. В уроке 3 я расскажу о нем подробнее, а пока поверьте на слово — имя frmHelloWorld гораздо лучше имени Form1, которое присваивается свойству Caption по умолчанию. То же относится и к свойству Name элементов этого приложения — значение Name, присвоенное по умолчанию, также будет изменено.
9. Щелкните на элементе-надписи и задайте следующие свойства.
Свойство | Значение |
Name | IblHelloWorld |
Text | Hello World |
10. Щелкните на элементе-кнопке и задайте следующие свойства.
Свойство | Значение |
Caption | &ОК |
Name | cmdOK |
На этот раз свойство Caption определяет текст, находящийся на кнопке. Ампер-сенд (&) перед первым символом означает, что вместо щелчка мышью кнопку можно активизировать с клавиатуры (в данном случае сочетанием клавиш Alt+О). Подобные сокращения следует назначать по мнемоническому принципу (например, буква «О» для кнопки ОК).
11. Теперь дважды щелкните на кнопке cmdOK. Двойной щелчок на элементе (или форме) открывает окно программы со стандартным событием. Для кнопки стандартным является событие Click. На экране должен появиться шаблон процедуры (или заготовка) cmdOK_Click (рис. 1.17). Не обращайте внимания на префикс Private Sub; сейчас важно лишь имя процедуры, cmdOK_Click — оно означает, что после того, как пользователь нажмет кнопку cmdOK, будет выполнен код, находящийся в этой процедуре.
Puc. 1.17. Процедура в окне программы
12. Введите между строками PrivateSub и End Sub следующий фрагмент программы:
Unload Me
Set frmHelloWorld = Nothing
Когда пользователь нажимает кнопку cmdOK, происходит событие cmdOK_Click. В данном случае оно сообщает форме о том, что она должна выгрузить себя. Поскольку в нашем приложении нет других форм, выгрузка формы приводит к завершению приложения.
13. Выполните команду File > Save Project. Введите имя формы frmWorld.frm и имя проекта HelloWorld.vbp. Перед сохранением проекта сохраняются все входящие в него файлы. В нашем приложении имеется всего одна форма, которой соответствует один файл. В сущности, файл проекта представляет собой список файлов компонентов.
14.
ПРИМЕЧАНИЕОбратите внимание — наша форма описывается тремя атрибутами: свойством Name (frmHelloWorld), свойством Caption (Мое первое приложение) и именем файла (frmWorld.frm). Вы должны четко понимать, чем отличаются эти атрибуты. Свойство Caption выводится в заголовке формы, свойство Name служит для работы с формой в программе, а имя файла используется файлом проекта и операционной системой.
14. Выполните команду Run > Start. Если все было сделано правильно, на экране появляется форма с сообщением Hello World (рис. 1.18).
15. Завершите работу приложения кнопкой ОК. Если у вас что-то не получилось, повторите описанные действия и найдите ошибку.
Рис. 1.18. Наше первое приложение Hello World
Мы только что создали приложение! Поздравляю, вы сделали первый шаг на пути к своему профессиональному мастерству в Visual Basic! На примере этой простейшей программы вы познакомились с работой в Visual Basic и IDE. Хотя приложение Hello World было очень простым, оно дает некоторое представление о том, как работает Visual Basic. В последующих уроках речь пойдет о тех инструментах, которые понадобятся вам для создания своего программного шедевра.
Что нового мы узнали?
В этом уроке мы научились:
Пользоваться Visual Basic для создания приложений.
Пользоваться Project Wizard в начале работы над приложением.
Щелкать на объектах правой кнопкой мыши, чтобы определить их свойства.
Работать в окне программы.
Открывать несколько проектов в IDE.
Настраивать параметры IDE по своему усмотрению.
Создавать простейшие приложения.
УРОК 2
Работа с формами
Экранные формы
Создание форм
Изменение свойств формы
События форм
Методы форм
Создание форм многодокументного интерфейса (MDI)
Включение форм в проекты
Использование Form Wizard
В этом уроке закладываются первоначальные навыки программирования на Visual Basic. В Visual Basic любое приложение, обладающее пользовательским интерфейсом, строится на основе специальных объектов — форм. Формой называется главный элемент приложения, на котором размещаются все прочие элементы. Мы рассмотрим различные компоненты форм, с помощью которых можно изменить внешний вид формы в соответствии с требованиями вашего приложения. Кроме того, вы познакомитесь с меню и другими более сложными элементами многодокументного интерфейса (MDI).
Анатомия формы
Главные объекты, с которыми вам придется работать в Visual Basic, — это формы, образующие визуальную основу приложений. По своей сути форма представляет собой окно, в котором можно размещать различные управляющие элементы при создании приложений. Любое приложение, выводящее информацию на экран, строится на основе формы того или иного типа. Однако прежде чем углубиться в процесс создания приложений, давайте присмотримся к простейшей и наиболее распространенной разновидности форм — одиночной форме. Во время изучения Visual Basic большинство ваших приложений будут использовать простейший интерфейс — одиночную форму. Когда вы накопите достаточно опыта и начнете писать большие, серьезные приложения, вам придется работать с несколькими формами, которые часто называются документами. В конце этого урока содержатся начальные сведения об этой разновидности форм (см. раздел «Работа с многодокументными формами (MDI)»). Чтобы создать новую форму, запустите Visual Basic и выполните команду File >- New Project. На экране появляется форма, состоящая из нескольких компонентов (рис. 2.1). В ближайших разделах мы познакомимся со всеми компонентами, входящими в состав формы, и научимся пользоваться ими.
Все элементы форм покажутся знакомыми тем, кто уже обладает опытом работы в операционной системе Windows. Давайте разберемся, как работать с этими элементами в Visual Basic.
Рис. 2.1. Объект-форма
Граница
Граница придает форме необходимую степень гибкости. В зависимости от типа формы границу можно сделать фиксированной, масштабируемой или вообще убрать. Все эти возможности задаются при помощи свойства BorderStyle.
Заголовок
Заголовком (или строкой заголовка) называется цветная полоса в верхней части большинства форм. Если установлена стандартная цветовая схема Windows, эта полоса будет синей. Заголовок используется для перетаскивания окна по экрану. Кроме того, двойной щелчок на заголовке попеременно разворачивает форму или восстанавливает ее предыдущие размеры.
Название
Название — текст, выводимый в заголовке формы. В название могут включаться имя приложения, краткое описание формы или информация о текущем состоянии. Название определяется потребностями приложения.
Если присвоить свойству формы BorderStyle значение None, то название (вместе со всей строкой заголовка) исчезает. Чтобы изменить название, следует присвоить нужный текст свойству Caption в окне свойств.
Оконное меню
Оконное меню содержит команды для восстановления, перемещения, изменения размеров, свертывания, развертывания и закрытия формы. Чтобы кнопка оконного меню присутствовала на форме, следует установить в True значение свойства ControlBox в окне свойств.
Кнопка свертывания
Эта кнопка сворачивает текущую форму, то есть временно убирает ее из рабочей области. Чтобы кнопка свертывания присутствовала на форме, следует установить в True значение свойства MinButton в окне свойств.
ПРИМЕЧАНИЕВ формах MDI свернутая форма перемещается в левый нижний угол родительской формы. Приложения, открытые из системной панели (System Тгау), свертываются обратно в панель.