Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 1447 / 158 | Оценка: 4.31 / 4.00 | Длительность: 25:42:00
Лекция 2:

Visual Studio.NET: среда разработки, интерфейс пользователя, система меню

Окна представлений (просто панели)

В Visual Studio.NET каждое отдельное приложение рассматривается как решение ( solution ), состоящее из нескольких проектов ( project ). Проект представляет собой собрание файлов:

  • исходных файлов
  • файлов заголовков
  • файла ресурсов
  • файлов настроек и информации о конфигурации среды

Среда позволяет работать со всеми элементами одного решения, которые можно наращивать путем добавления новых проектов. Вся информация о решении хранится в главном файле решения с расширением .sln (пиктограмма, которая содержит:

  • имена всех проектов решения
  • информацию о каталогах, в которых находятся проекты решения
  • параметры компилятора и компоновщика
  • другую служебную информацию

Для каждого нового проекта, входящего в решение, среда создает свой отдельный файл проекта с расширением .vcproj (пиктограмма).

Каждый пользователь, участвующий в разработке решения, может создать свои персональные настройки среды, такие как цвет, шрифт, панели, открытые файлы, размер и расположение их окон, точки прерывания последнего сеанса отладки и т.д. Все эти установки сохраняются в файле с расширением .suo (пиктограмма).

Несколько важных панелей разработчик приложения использует постоянно или очень часто. Эти панели вызываются из меню View


Наша задача на данном этапе - посмотреть внешние свойства этих панелей: как они вызываются и как настроить их внешний вид.

Для всех элементов любого представления Visual Studio.NET поддерживается контекстное меню, для вызова которого достаточно выполнить правый щелчок мыши на соответствующем элементе.

Чтобы не загромождать рабочее пространство экрана, подавляющее число окон можно сделать выпадающими ( flu-out или Auto Hide ), которые появляются на экране как временные. Когда пользователь IDE работает с другой областью экрана, выпадающее окно отображается свернутым в виде пиктограммы с названием окна. Если же на эту пиктограмму навести курсор мыши, то оно мгновенно разворачивается.

Эти окна инструментов можно делать прикрепляемыми ( Dockable ) к любой границе рабочей области, можно делать свободно плавающими ( Floating ). Свойства окон настраиваются через контекстное меню заголовка окна или, для активного окна, через меню Window. Окна можно встраивать друг в друга, перетаскивая их за заголовок в другое закрепленное окно. При этом взаимное расложение окон в общем контейнере может быть пристыкованным по вертикали ( Tile Vertically ),


горизонтали ( Tile Horizontally )


или совмещенным ввиде вкладок


Окно представления Solution Explorer (проводник решений)

Проводник решений отображает все файлы, связанные с текущим решением или проектом и позволяет быстро открывать любой из них на редактирование своим контекстным редактором со всеми необходимыми возможностями. Так, если открывается файл исходного кода, то запускается текстовый редактор. При открытии файла иконок, запускается графический редактор, а при редактировании диалоговых окон - редактор визуального проектирования диалоговых окон (через окно представления Resource View ).


Файлы отображаются в виде дерева и разделены по категориям:

  • Source Files - файлы исходного кода на C++ (где содержатся определения функций и методов программного кода)
  • Header Files - файлы заголовков (где содержатся объявления классов и прототипы функций)
  • Resource Files - файлы ресурсов (содержат описания диалоговых окон, пиктограмм, иконок, элементов управления)

Контекстное меню для элементов представления Solution Explorer позволяет быстро вызвать необходимую команду, например, удалить файл из решения (проекта), при этом среда лишь выводит его из состава проекта, но не удаляет физически. Для разных типов файлов вызывается контектсное меню, специфическое именно для файлов данного типа.

Двойной левый щелчок на каком-либо файле представления Solution Explorer запускает редактор этого файла, также специфический именно для файла данного типа.

Окно представления Class View (просмотр классов)

Фактически это представление используется чаще всего, поскольку обеспечивает быстрый поиск классов и их членов (данных и функций), а также некоторые манипуляции с ними.


Оно отображает классы, используемые в данном приложении. Представление также организовано в виде дерева с раскрывающимися узлами - классами, в которых перечислены базовые классы, атрибуты и методы. Вначале идут методы, помеченные фиолетовой пиктограммой, а затем - атрибуты, помеченные пиктограммой бирюзового цвета. Рядом с пиктограммой защищенных членов класса (protected) нарисован ключ, а рядом с закрытыми членами класса (private) - маленький замочек.Общедоступные члены класса ( public ) отображаются без замочков и ключей.

Двойной щелчок по имени функции приводит к открытию в главной рабочей области ее исходного кода, независимо от того, является ли эта функция библиотечной или пользовательской. Двойной щелчок по имени переменной приводит к открытию файла, в котором эта переменная была объявлена.

Контекстное меню класса в окне представления Class View

Щелчок на имени класса правой кнопкой мыши приводит к вызову контекстного меню


Оно содержит следующие команды:

  • Go To Definition (перейти к определению) - открывает файл заголовка (файл с расширением .h ) в том месте, где был объявлен этот класс.
  • Browse Definition (обзор определений) - открывает окно Object Browser (Обозреватель объектов) и подсвечивает в нем имя данного класса.

  • Quick Find Symbol (быстрый поиск символов) - находит все символы (имена классов, функций, переменных), совпадающие с именем данного класса.
  • Add/Add Function (добавить/добавить функцию) - открывает мастер Add Member Function Wizart (мастер добавления методов).

Мастер добавляет объявление функции-члена в файл заголовка с описанием класса ( *.h ), а заготовку ее определения - в файл определений функций-членов класса ( *.cpp ). Диалоговое окно мастера имеет вид


  • Add/Add Variable (добавить/добавить переменную) - открывает мастер Add Member Variable Wizard (мастер добавления атрибута).

Мастер добавляет объявление переменной-члена в файл заголовка с описанием класса ( *.h ), а в файл ( *.cpp ) определения конструктора класса или функцию инициализации - установку, по возможности, начального значения этой переменной. Диалоговое окно мастера имеет вид


  • Copy (копировать) - копирует имя класса в буфер обмена, после чего его можно куда-нибудь вставить.
  • Sort Alphabetically (сортировать по алфавиту) - отображает в окне представления Class View узлы классов всего приложения или вложенные узлы конкретного класса в алфавитном порядке
    • узлы атрибутов
    • узлы методов
    • узел карты ( Maps )
    • узел базовых классов и интерфейсов ( Bases and Interfaces )
    • узел макроопределений и констант ( Macros and Constants )
  • Sort By Type (сортировать по типу) - отображает в окне представления Class View узлы классов всего приложения или вложенные узлы конкретного класса, отсортированные по типу. Вначале идут методы, затем атрибуты и т.д.
  • Sort By Access (сортировать по атрибутам доступа) - отображает в окне представления Class View узлы классов всего приложения или вложенные узлы конкретного класса, отсортированные по уровню доступа. Вначале идут элементы, не содержащие программный код, затем открытые элементы ( public ), затем закрытые элементы ( private ), затем защищенные элементы ( protected ). Внутри каждой категории элементы сортируются в алфавитном порядке.
  • Group By Type (сгруппировать по типу) - группирует все методы в одну вложенную папку Functions, а все атрибуты - в другую вложенную папку Variables.

Нужный режим сортировки можно установить и через кнопку с раскрывающимся списком в левом верхнем углу панели представления Class View


  • Properties (свойства) - открывает окно представления свойств класса, для которого было вызвано контекстное меню. Такой же результат можно получить, выделив требуемый класс в окне Class View, а затем выполнив команду View/Properties Window в главном меню.
Максим Филатов
Максим Филатов

Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет:

Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.

 

Как активировать код?