Глава 2. Краткое знакомство со средой Visual C++
Краткое знакомство со средой VisualC++

MicrosoftVisualC++ представляет собой интегрированную среду разработки, в которой вы можете легко создавать, открывать, просматривать, редактировать, сохранять, компилировать и отлаживать все свои приложения, написанные на С или C++. Преимуществом этой среды является относительная простота и легкость в изучении.

В настоящей главе мы рассмотрим всевозможные команды и опции меню, имеющиеся в распоряжении пользователя, а в главе 3 перейдем непосредственно к работе в среде VisualC++.

ЗапускVisual C++

Запуск оболочки VisualC++ не составит для вас труда. На рис. 2.1 представлено начальное окно с произвольно выбираемым советом дня, которое открывается при этом.

Доступ к контекстной справке

Доступ к справочной системе VisualC++ облегчен благодаря тому, что вся информация предоставляется в интерактивном режиме. Чтобы получить справку, достаточно навести указатель на интересующий вас инструмент и нажать клавишу [F1].


Рис 2.1.

Следует отметить, что использование контекстной справки не ограничивается элементами интерфейса. Если вы наведете указатель на элемент программного кода C/C++ и нажмете [F1], то получите справку о синтаксисе выбранной вами конструкции.

Вызов команд меню

Прежде чем перейти к описанию отдельных команд и опций, остановимсй на некоторых моментах, общих для всех меню. Вспомним, например, о том, что существует два способа выбора команд из меню. Более распространенный из них состоит в том, что вы устанавливаете указатель мыши и щелкаете на нужных командах меню левой кнопкой мыши. Второй способ заключается в использовании клавиш быстрого вызова, которые выделяются подчеркиванием в названиях команд. Так, меню File можно раскрыть, нажав одновременно [Alt+F].

Существует еще один способ вызова отдельных команд в любой момент времени, а именно с помощью предварительно заданных "горячих" клавиш. Если для команды определено сочетание клавиш, то это сочетание будет указано в меню справа от соответствующего пункта. Например, в меню File есть команда New..., которую можно вызвать, просто нажав [Ctrl+N].

Команда меню, показанная серым цветом, является в данный момент недоступной — вероятно, отсутствуют некоторые условия, необходимые для ее выполнения. Например, команда Slave из меню File будет недоступной, если в редактор ничего не загружено. Программа "понимает", что в данный момент сохранять просто нечего, и напоминает вам об этом, отключив команду сохранения.

Если за названием команды меню следует троеточие, значит, после выбора данной команды будет открыто диалоговое окно. Например, после выбора команды Open... в меню File открывается диалоговое окно Open.

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

Перемещаемые панели инструментов

Любые панели инструментов VisualC++ можно сделать закрепленными или плавающими. Закрепленные панели инструментов фиксируются вдоль одного из четырех краев окна программы. Изменить размер такой панели вы не можете.

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

А чтобы закрепить плавающую панель - такие:

При необходимости разместить плавающую панель инструментов поверх закрепленной вы должны:

Меню File

В VisualC++ в меню File собран стандартный для многих приложений Windows набор команд, предназначенных для манипулирования файлами (рис. 2.2).


Рис. 2.2.

New...

По команде New... открывается окно для выбора типа создаваемого файла, проекта или рабочего пространства. Именно с этой команды обычно начинается работа над новым приложением. VisualC++ автоматически присваивает название и номер каждому создаваемому файлу (но не проекту), если только вы не сделали этого самостоятельно. Нумерация файлов начинается с 1. Таким образом, первый файл всегда будет иметь имя xxxl, второй — ххх2 и т.д. Здесь ххх обозначает стандартное имя, меняющееся в зависимости от типа создаваемого файла (программный файл, файл заголовков, значок, указатель мыши и т.п.).

Если вы создадите шесть файлов с именами от xxx1 до ххх6, а затем закроете файл xxx1, то при следующем выборе команды New... программа не восстановит отсутствующее название (в данном случае ххх2), но автоматически присвоит файлу следующий порядковый номер после наибольшего номера файла, открытого на данный момент. То есть в нашем случае новому файлу будет присвоено имя xxx1.

Open...

В отличие от команды New..., предназначенной для создания нового файла, команда Open... открывает диалоговое окно, с помощью которого вы можете выбрать любой ранее сохраненный файл. Окно OpenFile имеет стандартный вид для всех приложений Windows. В случае попытки открыть уже открытый файл будет подан звуковой сигнал и показано предупреждающее сообщение.

Вторая слева кнопка на стандартной панели инструментов является альтернативой команде Open....

Close

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

Save

Команда Saveсохраняет содержимое текущего окна в соответствующем файле. По строке заголовка окна можно определить, соответствует ли активному окну какой-нибудь файл на жестком диске. Если вы открыли новое окно и еще не сохраняли его, то в строке заголовка будет показано стандартное имя вида xxxl. При попытке сохранить информацию из окна, которому не соответствует ни один файл, автоматически будет открыто диалоговое окно SaveAs.

Для сохранения файла можно также использовать расположенную на панели инструментов кнопку Save (третья слева). Если файл был открыт в режиме только для чтения, то команда Save будет недоступной.

SaveAs...

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

SaveAll

Если вам никогда ранее не приходилось заниматься программированием на C/C++ в Windows95,98 или NT, то поначалу вы будете ошеломлены обилием файлов, вовлеченных в проект. Неудобство команды Save состоит в том, что она сохраняет содержимое только одного, текущего окна. С помощью команды SaveAll можно сохранить все открытые на данный момент файлы. Если содержимое каких-то окон ранее не сохранялось в файлах, то для них автоматически будет открываться окно SaveAs, где вы сможете вводить имена новых файлов.

PageSetup...

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

Команды форматирования, которые можно использовать при настройке колонтитулов, перечислены в табл. 2.1.

Таблица 2.1. Команды форматирования используемые в диалоговом окне Page Setup
Команда форматирования Назначение
Центрирование текста
&d Добавление текущей системной даты
&f Добавление имени файла
&1 Выравнивание текста по левому краю
Нумерация страниц
Выравнивание текста по правому краю
&t Добавление текущего системного времени


Print...

Чтобы вывести на печать содержимое активного окна, нужно выбрать из меню File команду Print.... Откроется диалоговое окно Print, в котором вы сможете установить требуемые параметры печати. Прежде всего необходимо решить, хотите вы вывести на печать все содержимое файла или только предварительно выделенную часть. Если в активном окне был выделен блок, то в окне Print станет доступной опция Selection группы PrintRange (в противном случае переключатель окажется недоступным). Если к компьютеру подключено несколько устройств вывода, вы можете выбрать нужный принтер и произвести настройку параметров печати, щелкнув на кнопке Setup.

Recent Files и Recent Workspaces

Под командой Print... находятся списки недавно открывавшихся файлов и проектов. Удобная особенность таких списков состоит в том, что они обновляются автоматически. Когда вы в первый раз запускаете VisualC++, оба списка пусты.

Exit

Команда Exit закрывает окно VisualC++. Не беспокойтесь, если вы забыли сохранить содержимое какого-нибудь файла. Программа автоматически выдаст предупреждающие сообщения для каждого несохраненного файла.

Меню Edit

Команды меню Edit (рис. 2.3) позволяют редактировать текст и проводить поиск по ключевым словам в программном коде, отображаемом в активном окне. Работа этих команд основана на тех же принципах, что и работа аналогичных команд в большинстве текстовых редакторов.


Рис. 2.3.

Undo

Команда Undo позволяет отменять последние выполненные операции редактирования. Данная возможность доступна также и через соответствующую кнопку стандартной панели инструментов (восьмая слева).

Redo

После того как вы отменили последнее действие с помощью команды Undo, вы можете повторить операцию, воспользовавшись командой Redo. Этой команде соответствует девятая слева кнопка стандартной панели инструментов.

Cut

Команда Cut копирует выделенный блок текста из активного окна в буфер обмена, после чего удаляет этот блок из окна. Команду Cut обычно используют в сочетании с командой Paste для перемещения блока текста из одного места в другое. На стандартной панели инструментов ей соответствует пятая кнопка слева.

Copy

Как и команда Cut, команда Сору копирует и помещает выделенный блок текста в буфер обмена, но этот блок сохраняется в активном окне. Команду Сору обычно используют в сочетании с командой Paste при необходимости скопировать блок текста из одного места в другое. Ей соответствует шестая слева кнопка стандартной панели инструментов.

Paste

Команда Paste предназначена для вставки информации из буфера обмена в текущий документ (в месторасположение текстового курсора). На стандартной панели инструментов ей соответствует седьмая слева кнопка.

Delete

Чтобы удалить выделенный блок текста, не копируя его в буфер обмена, можно воспользоваться командой Delete. Хотя удаленный текст и не будет скопирован в буфер обмена, вы все равно сможете восстановить его, если сразу после удаления выберете в меню Edit команду Undo.

Select All

Команда SelectAll используется для выделения всего содержимого активного окна с целью последующего вырезания, копирования или удаления.

Find...

Модуль поиска, запускаемый командой Find..., работает примерно так же, как и аналогичное средство поиска в большинстве текстовых редакторов. Поскольку языки C/C++ чувствительны к регистру символов, опции диалогового окна Findпозволят вам организовать поиск как с учетом, так и без учета регистра, а также поиск слова целиком. Можно задать и направление поиска - вверх или вниз от текущего положения курсора.

Одной из удобных особенностей команды Find... является возможность применения регулярных выражений. В табл. 2.2 приведены метасимволы, которые можно для этой цели вводить в поле Findwhat диалогового окна Find.

Таблица 2.2 Метасимволы используемые с командой Find
Метасимволы Назначение
* Заменяет любое количество символов, в том числе нулевое
Пример: Data*1
Результат поиска: Data1, Dataln1, DataOut1
. Заменяет любой отдельный символ
Пример: Data.
Результат поиска: Data1l и Data2, но не Dataln1
^ Поиск ключевых слов только в начале строк
Пример: Ado
Результат поиска: все строки, начинающиеся с "do"
+      Заменяет любое число символов, начиная с единицы
Пример: +value
Результат поиска: i_value, fvalue, lng_value
$      Поиск ключевых слов только в конце строк
Пример: end;$
Результат поиска: все строки, заканчивающиеся на "end;"
[ ]   Поиск значений, соответствующих указанному диапазону
Пример: Data[A...Z]
Результат поиска: DataA, но не Datal
Пример: Data[1248]
Результат поиска: Data2, но не Data3
\    Отменяет специальное назначение следующего за ним метасимвола
Пример: 100\$
Результат поиска: "100$" (в отличие от самого шаблона 100$, который означает поиск образца "100" в конце строки)
\{\}   Поиск   ключевых   слов,    начинающихся    с    комбинации    символов,
заключенных в фигурные скобки
Пример: \{no\}*_answer
Результат поиска: answer, no_answer, nono_answer, nonono_answer

Find in Files...

При выборе команды Find in Files... вы получаете в свое распоряжение все средства команды Find... и возможность проводить поиск ключевых слов сразу в нескольких файлах. Вы можете спросить: "С какой стати я стану искать что-нибудь сразу в нескольких файлах?" Чтобы ответить на этот вопрос, вспомним, что проект, написан­ный на C/C++, состоит из множества взаимосвязанных файлов. Предположим, в процессе программирования вы поймете, что какую-то часто используемую в приложении конструкцию лучше заменить более компактной. В таком случае, выполнив команду Find in Files..., вы будете уверены, что произвели замену во всех файлах проекта. Если над каким-то большим проектом работает группа людей, то с помощью команды FindinFiles... вы сможете отобрать файлы, автором которых является определенный сотрудник. Кроме того, помните, что возможности команды FindinFiles... не ограничены одной папкой или даже одним диском. С помощью этой команды вы можете вести поиск в локальной сети, в интранет и даже в Internet, отыскивая заданные имена, строки, ключевые слова, методы и многое другое.

Replace...

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

Хорошенько подумайте, прежде чем щелкнуть на кнопке ReplaceAll, поскольку результат выполнения этой команды может оказаться разрушительным для вашей программы. Помните, что вы можете отменить результаты операции замены, если сразу выберете команду Undo.

GoTo...

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

Bookmarks...

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

Breakpoints...

Данная команда позволяет устанавливать точки прерывания в различных местах программы.

ListMembers

Команда ListMembersотображает список доступных переменных-членов или функций выбранного класса либо структуры.

TypeInfo

Данная   команда  отображает  окно  подсказки,   содержащее   описания   всех идентификаторов.

ParameterInfo
Эта команда отображает полное описание (включая список параметров) функции, имя которой расположено слева от курсора. Параметр, выделенный полужирным шрифтом, соответствует тому параметру, который вы должны ввести в данный момент.

CompleteWord
При выборе команды CompleteWordпрограмма автоматически допишет вместо вас название функции или имя переменной, которое вы только начали вводить. Эта опция способна заметно сохранить ваше время, избавив от необходимости каждый раз вводить с клавиатуры длинные, часто повторяющиеся имена.

Меню View

Меню View(рис. 2.4) содержит команды, позволяющие настроить внешний вид рабочего пространства.


Рис. 2.4

ClassWizard...

Мастер ClassWizard облегчит выполнение таких повторяющихся задач, как создание новых классов и обработчиков сообщений, переопределение виртуальных функций MFC и сбор данных от элементов управления диалоговых окон. Одно очень важное замечание: ClassWizardработает только с приложениями, использующими библиотеку MFC, что отличает его от таких средств, как ClassViewи WizardBar, работающих с MFC, ATLи вашими собственными производными классами. К тому же ClassView не распознает классы, если они не зарегистрированы в файле базы данных ClassView(файл с расширением CLW). С помощью мастера ClassWizardможно выполнять следующие действия:

Resource Symbols... и Resource Includes...

Вы очень быстро убедитесь в том, что по мере увеличения и усложнения кода вашего приложения стремительно возрастает и число задействованных в проекте ресурсов, все труднее становится отслеживать постоянно растущее число иденти­фикаторов ресурсов, разбросанных по многочисленным файлам проекта. Команды ResourceSymbols... и ResourceIncludes... существенно облегчат процесс контроля за ресурсами. Перечислим операции, которые можно выполнить с их помощью:

FullScreen

Подобно большинству программистов, вы в процессе программирования наверняка хотите видеть на экране как можно больше кода. В этом вам поможет команда FullScreen, при выборе которой окно редактирования будет развернуто на весь экран.

Workspace

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

Output

По команде Output открывается окно Output, в котором отображается ход выполнения таких процессов, как компиляция и компоновка программы. В это окно выводятся также все предупреждающие сообщения и сообщения об ошибках, генерируемые компилятором и компоновщиком.

Debug Windows

В подменю Debug Windows содержатся команды вызова различных окон отладчика, включая Watch, Call Stack, Memory, Variables, Registers и Disassembly.

Refresh

Команда Refresh предназначена для обновления вида текущего окна - аналогично тому, как с помощью клавиши [F5] мы обновляем внешний вид окна программы Explorer (Проводник) в Windows.

Properties

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

Меню Insert

Меню Insert(рис. 2.5) содержит команды, позволяющие вставлять в проект новые файлы, ресурсы, объекты и т.д.


Рис 2.5.

NewClass...

При выборе данной команды открывается диалоговое окно NewClass, в котором можно задать имя нового класса (таковым может быть класс библиотек MFC и ATL или класс общего назначения) и указать его базовый класс. В результате создается файл заголовков и файл реализации нового класса.

Resource...

Эта команда позволяет добавить в проект новые ресурсы, включая горячие клавиши, растровые изображения, указатели мыши, диалоговые окна, значки, HTML-файлы, меню, таблицу строк, панели инструментов и идентификатор версии.

ResourceCopy...

VisualC++ дает возможность создать копию ресурса при изменении языка его описания. Язык ресурса выбирается в списке Language окна InsertResourceCopy. В поле Condition можно задать символический идентификатор, наличие которого в данной конфигурации проекта является условием для подключения ресурса. Язык ресурса отображается в окне Workspace после имени ресурса.

File As Text...

Данная команда применяется для добавления в проект текста указанного файла. Перед выбором команды необходимо открыть окно редактирования и установить курсор в месте ввода текста.

New ATL Object...

Данная команда позволяет добавить в существующий проект ATL-класс. ATL-объекты представляют собой шаблонные классы C++, которые реализуют основные средства СОМ, включая интерфейсы IUnknown, IClassFactory, IClassFactory2 и IDispatch, поддержку двунаправленных и отключаемых интерфейсов, интерфейсов перечисления (lEnumXXXX), точек подключения, элементов управления ActiveX и многое другое.

Меню Project

Команды меню Project(рис. 2.6) позволяют управлять открытыми проектами.


Рис 2.6.

SetActiveProject

В данном подменю отображается список загруженных проектов, из которых можно выбрать активный.

AddtoProject

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

Dependencies

Если ваш большой проект разбит на несколько подпроектов, то для отображения иерархических связей между ними следует использовать команду Dependencies.

Settings...

При выборе команды Settings... открывается довольно сложное диалоговое окно, позволяющее устанавливать практически все параметры конфигурации проекта, включая опции компилятора и компоновщика.

ExportMakefile...

С помощью этой команды можно сохранить в файле всю информацию, необходимую для построения проекта. Файл, созданный с применением команды ExportMakefile..., хранит все установки, которые вы сделали в среде VisualC++.

Insert Project Into Workspace...

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

Меню Build

В меню Build(рис. 2.7) содержатся всевозможные команды, предназначенные для генерации кода приложения, отладки и запуска созданной вами программы.


Рис 2.7.

Compile

Выбор этой команды приводит к компиляции содержимого текущего окна.

Biuld

Обычно проекты, написанные на C/C++, включают в себя много файлов. Поскольку поочередная компиляция всех файлов займет много времени, полезной окажется команда Build, которая автоматически проанализирует файлы проекта, компилируя только те из них, которые были созданы позже, чем исполняемый файл проекта.

Прежде чем выбрать команду Build, вам следует принять решение, следует ли в конечный файл включать отладочную информацию (конфигурация Debug) или же исключить эти данные из файла (конфигурация Release). Чтобы установить тот или иной режим, необходимо в меню Build выбрать.команду Set Active Configuration.... Если вы закончили работу над программой и убедились в ее работоспособности, отладочную информацию из выходного файла целесообразно исключить — в таком случае он станет значительно компактнее.

Сообщения об обнаруживаемых в процессе компиляции и компоновки ошибках будут появляться в окне Output.

RebuildAll

Различие между командами Buildи RebuildAll состоит в том, что последняя не обращает внимания на дату и время создания файлов и компилирует все файлы проекта.

Если при выполнении команды RebuildAll будут обнаружены синтаксические ошибки, как фатальные, так и потенциально опасные, то предупреждения и сообщения о них появятся в окне Output.

BatchBuild...

Эта команда аналогична команде Build, но с ее помощью можно обработать сразу несколько конфигураций одного проекта.

Clean

С помощью команды Clean из всех конфигураций текущего проекта удаляются промежуточные файлы. Построить файлы заново можно путем выбора команды Build.

StartDebug

Данное подменю содержит команды, предназначенные для выполнение программы в режиме отладки: до курсора или до заданной точки останова.

Debugger Remote Connection...

Благодаря наличию этой команды можно осуществлять отладку проекта, выполняющегося на удаленном компьютере.

Execute

Если компиляция прошла успешно, выберите команду Execute, и построенная программа будет запущена.

Set Active Configuration...

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

Configurations...

Команда Configurations... позволяет добавлять или удалять конфигурации текущего проекта. Например, если вы начали работу только с конфигурацией Debug(отладочная версия программы), то теперь можете добавить конфигурацию Release(финальная версия программы).

Profile...

Данная команда представлена только в профессиональной и корпоративной версиях VisualC++. Но чтобы ею можно было воспользоваться, необходимо при создании проекта установить опцию, задающую подключение профилировщика (опция Enable profiling категории General вкладки Link диалогового окна Project Settings). Профилировщик используется для анализа работы программы во время ее выполнения. В процессе профилирования в окне Outputотображается информация, на основании которой вы можете выяснить, какие части вашего программного кода работают эффективно, а какие не выполняются или требуют больших временных затрат.

Меню Tools

Меню Tools(рис. 2.8) содержит команды вызова вспомогательных утилит, программирования макросов и настройки среды VisualC++.


Рис. 2.8.

SourceBrowser...

Этой командой можно воспользоваться при необходимости просмотреть информацию об исходных файлах. Вы можете поручить компилятору создавать по вспомогательному SBR-файлу для каждого объектного (OBJ) файла, который будет встречаться в процессе компиляции. Когда вы создаете или обновляете основной информационный BSC-файл, все SBR-файлы проекта должны быть представлены на диске. Для того чтобы создать SBR-файл, содержащий всю возможную информацию, установите опцию Generate browse info вкатегории Listing Files вкладки C/C++ диалогового окна Project Settings. Если из файла необходимо исключить информацию о локальных переменных, задайте там же опцию Exclude local variables from browse info.

Close Source Browser File

Данная команда закрывает текущий SBR-файл.

ErrorLookup

Утилиту ErrorLookup используют при необходимости получить текст сообщений, связанных с кодами системных ошибок. Введите код ошибки в поле Value, и в поле ErrorMessage автоматически отобразится связанное с ним сообщение.

ActiveX Control Test Container

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

OLE/COM Object Viewer

Эта утилита отображает сведения обо всех объектах ActiveXи OLE, установленных на вашем компьютере, а также о поддерживаемых ими интерфейсах. Она также позволяет редактировать реестр и просматривать библиотеки типов.

Spy++

Утилита Spy++ выводит информацию о выполняющихся системных процессах и потоках, существующих окнах и поступающих оконных сообщениях. Указанная утилита также предоставляет набор инструментов, облегчающих поиск нужных процессов, потоков и окон.

MFCTracer

Дополнительные возможности для отладки оконных приложений, построенных на основе MFC, предоставляет утилита MFCTracer. Эта утилита отображает в окне отладки сообщения о выполнении операций, связанных с использованием библиотеки MFC, а также предупреждения об ошибках, если при выполнении приложения происходят какие-либо сбои.

VisualComponentManager

Данная утилита предназначена для ведения базы данных готовых программных компонентов. 

RegisterControl

Элементы управления OLE, как и другие OLE-серверы, могут использоваться различными приложениями, поддерживающими технологию OLE. Но для этого необходимо зарегистрировать библиотеку типов и класс элемента управления, что как раз и выполняет команда RegisterControl.

Customize...

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

Options...

Данная команда открывает окно Options, в котором задаются различные параметры среды VisualC++.

Macro... / Record... / Play...

Эти команды используются для создания и воспроизведения макросов на VBScript. Макросы представляют собой небольшие процедуры, содержащие команды VBScriptи не принимающие параметров. Макросы позволяют значительно упростить и ускорить работу в среде VisualC++. Например, вы можете записать в виде макроса некоторую часто выполняемую последовательность команд, в результате чего для осуществления той же самой задачи вам достаточно будет ввести простую комбинацию клавиш или нажать единственную кнопку панели инструментов.

Меню Window

Все команды меню Window(рис. 2.9), за исключением команды DockingView, в принципе соответствуют стандартному набору команд данного меню во всех приложениях Windows.


Рис 2.9.


NewWindow

Данная команда создает новое окно редактирования для текущего проекта.

Split

Команда Split позволяет разбить окно редактирования на несколько частей.

DockingView

С помощью этой команды можно закрепить панель инструментов у любого края родительского окна либо сделать ее свободно перемещаемой.

Close

Данная команда закрывает активное окно. Если содержимое окна не было предварительно сохранено, то будет выдано предупреждающее сообщение.

CloseAll

Эта команда закрывает все открытые окна. Если содержимое хотя бы одного из окон не бьиго предварительно сохранено в файле, будет выдано предупреждающее сообщение.

Next

Посредством команды Next, относящейся к меню Window, можно переключаться между открытыми окнами.

Previous

Эта команда аналогична команде Next, но в отличие от последней осуществляет переходы между окнами в обратном порядке.

Cascade

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

TileHorizontally

Эта команда располагает все открытые окна одно над другим. Такой вид отображения удобен для сравнения исходного и модифицированного текста программ.


TileVertically

Команда Тilе Vertically располагает все открытые окна рядом друг с другом. Такой вид отображения удобен при необходимости произвести сравнение иерархических структур.

Список открытых окон

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

Меню Help

Меню Help(рис. 2.10) содержит стандартные для приложений Windowsкоманды Contents, Searchи Index, а также некоторые дополнительные команды.


Рис 2.10

Contents / Search... / Index

Эти стандартные команды предоставляют доступ к интерактивной справочной системе программы.

UseExtensionHelp

Когда включена данная опция, в качестве справочной системы вызывается расширенный файл справки, а не MSDN.

KeyboardMap...

Данная команда выводит список и описание всех команд VisualC++ с перечнем связанных с ними сочетаний клавиш.

Tip of the Day...

Команда TipoftheDay... выводит окно с различными советами, касающимися работы в среде VisualC++.

TechnicalSupport

Данная команда отображает раздел справочной системы, посвященный вопросам технической поддержки.

Microsoft on the Web

В этом подменю содержатся команды перехода к Web-страницам в Internet, посвященным VisualC++ и различным техническим вопросам.

About Visual C++

About... — стандартная команда всех приложений Windows - отображает информацию о версии программы, авторских правах, зарегистрированном пользователе и установленных дополнительных компонентах.