Программирование для карманных компьютеров
Шрифт:
Рис. 4.1. Главное окно среды.
Остальные окна могут быть выведены на экран или скрыты в зависимости от режима работы. Основным рабочим окном является окно Workspace (рис. 4.2).
В окне Workspase может находиться от одной до трех вкладок. Если был создан проект, то в окне Workspase появится вкладка FileView. Если в проекте есть классы, то будет добавлена вкладка ClassView, а если к проекту подключены какие-то ресурсы, то вкладка ResourceView незамедлительно объявится внизу окна. Каждая из вкладок отображает структуры файлов, классов и ресурсов, включенных в проект, в виде дерева с раскрывающимися узлами. Щелчок на узле приводит к его раскрытию, а двойной щелчок на конечном элементе – к открытию данного элемента для редактирования. Если щелкнуть на имени файла в окне FileView, то этот файл будет открыт в окне редактора кода. При щелчке на имени класса в окне ClassView, на экран будет выведен файл, в котором объявлен данный класс. Двойной щелчок на одном из имен ресурсов приведет к открытию данного ресурса в соответствующем ему редакторе ресурсов. Таким образом, взаимодействие с окном Workspace может повлечь за собой появление множества окон редакторов разного типа.
Окно Output (рис. 4.3) отображает информацию на выходе того или иного режима работы среды.
В этом окне обычно отображаются четыре вкладки, которые перечислены в следующем списке.
?
? Вкладка Debug отображает информацию о загружаемых модулях и библиотеках, выводит сообщения в режиме отладки.
? Вкладки Find in Filesl и Find in Files2 содержат информацию о результатах поиска.
Кроме перечисленных стандартных окон на экран могут быть выведены окна режима отладки. О них будет сказано в соответствующем разделе.
Окна в eVC могут находиться как в режиме Docked, когда окно «прилипает» к одной из сторон основного окна или к другому окну, так и в режиме Undocked, когда окно свободно перемещается по экрану. Управлять этими режимами можно при помощи команды Docking View в контекстном меню окна либо при помощи команды меню Tools ? Options… ? Workspace ? Docking Views. Пройдя по данной цепочке, можно обнаружить список открытых окон. Установка флажка против соответствующего окна включает его свойство Docking.
У окон Workspace и Output в контекстном меню есть команда Hide, позволяющая скрыть данное окно. Вывести окно на экран после вскрытия можно командой View ? Workspace (View ? Output). Кроме этого отображением этих окон еще управляют инструменты со стандартной панели инструментов.
? Полностью за управление состоянием и свойствами окон отвечает пункт меню Window. Его команды приведены в следующем списке.
? Команда New Window создает еще одно окно для текущего документа. Изменения отображаются синхронно в обоих окнах, а вот положение курсора и видимая часть документа могут быть различными.
? Команда Split разбивает текущее окно на четыре части крестообразным разделителем. Каждая из частей отображает один и тот же документ, но в каждой части можно установить свое положение текстового курсора. После разбиения можно перетащить вертикальный разделитель к левому или правому краю, и окно будет разбито на две части по горизонтали. Подобным образом можно поступить и горизонтальным разделителем.
? Команда Docking View переключает состояние Docking/UnDocking для активного окна.
? Команда Close закрывает активное окно в редакторе.
? Команда Close All закрывает все открытые окна проекта.
? Команда Next, Prevouse осуществляет переход вперед и назад по списку открытых окон. Активизируемое окно выводится на передний план.
? Команды Cascade, Tile Horizontally, Tile Vertically размещают все окна каскадом, по горизонтали или по вертикали соответственно.
? Команда Windows… выводит на экран список открытых окон
Настройка панелей инструментов и меню
Панели инструментов в eVC настраиваются в широких пределах. Разработчик может создать любую удобную для него конфигурацию среды. Настройка панелей инструментов, меню и некоторых других параметров производится при помощи команды меню Tools ? Customize. Эта команда выводит на экран окно настройки параметров среды разработки (рис. 4.4).
В этом окне располагается пять вкладок, каждая из которых позволяет настроить соответствующую функциональность среды. Commands
Вкладка Commands позволяет настроить команды на панелях инструментов и создавать новые панели инструментов, содержащие произвольные группы команд.
На этой вкладке расположены органы управления, которые рассматриваются в следующем списке.
? Выпадающий список Category, в котором можно выбрать группу команд. Команды, входящие в данную группу, отобразятся в зоне Buttons.
? Группа Show Menu for позволяет выбрать, какие меню будут выводиться на экран в режиме настройки. Если выбрать значение All Menus, то будут выведены все меню, но после закрытия окна Customize останутся только те из них, которые необходимы для данного редактора.
? Кнопка Modify Selection позволит выполнить ряд операций над командами инструментов и командами меню. С ее помощью можно создать новую группу команд, установить изображение для данного пунта меню или команды и задать режим отображения.
? Кнопка Reset All Menus приводит все меню в стандартное состояние, удаляя все сделанные изменения.
Редактирование меню и панелей инструментов осуществляется путем перетаскивания кнопок и команд мышью как из зоны Buttons на панель, так и на самой панели.
ToolbarsЭта вкладка позволяет задать режимы отображения панелей инструментов. Установка флажка в зоне Toolbars выводит выбранную панель инструментов на экран. Флажки Show Tooltip, With Shortcut Key и Large Buttons позволяют включать и выключать отбражение подсказок, клавиш быстрого доступа и кнопок большого размера. Кнопки Delete, New, Reset и Reset All дают возможность создать новую панель, удалить одну из пользовательских панелей, привести в исходное состояние выбранную панель или все панели среды.
ToolsЭта вкладка позволяет добавлять в среду новые инструменты, а также удалять или редактировать имеющиеся инструменты. Для добавления нового инструмента надо нажать кнопку New, в зоне Menu Contents ввести название инструмента, в строке Command ввести полный путь к программе, в строке Arguments ввести параметры командной строки, а в строке Initial directory ввести каталог, в котором располагается программа. После этого соответствующий рабочий инструмент будет добавлен к среде разработки.
KeyboardНа этой вкладке можно настроить «горячие» клавиши для любой из команд меню. Делается это при помощи простой последовательности действий.
? Выбрать в зоне Category меню File.
? В зоне Command выбрать значение ApplicationExit.
? В зоне Editor выбрать значение Main.
? Щелкнуть машью в строке Press new shortcut key, а затем нажать сочетание клавиш Alt+X. Это сочетание появится в строке.
? Нажать кнопку Assign. Сочетание Alt+X появится в зоне Current keys.
? Нажать кнопку Close, чтобы закрыть окно Customize, а затем нажать сочетание клавиш Alt+X. Среда завершит свою работу.
Add-In and macro files? Эта вкладка содержит список макросов, записанных командой Tools ? Record Quick Macro или созданных при помощи команды Tools ? Macro… и надстроек среды, написанных на языке VBScript. Установка флажка позволяет активизировать выбранный в списке макрос.
Работа с файлами и управление проектами
Эта часть работы в среде eVС достаточно проста. Но и она требует определенного рассмотрения. Правильное использование инструментов позволит не тратить время на рутинные операции и сосредоточиться именно на программировании.
Меню FileОсновную нагрузку при работе с файлами на себе несет меню File. Назначение пунктов этого меню приведено в следующем списке.
? Команда New выводит на экран окно создания нового проекта. Это окно содержит в себе список мастеров, позволяющих создавать проекты разного типа.
? Команда Open выводит на экран стандартный диалог открытия файла. Она позволяет открыть файл любого типа, который известен среде разработки.
? Команда Close закрывает текущий файл.
? Команда Open Workspace выводит на экран стандартный диалог открытия файла. Эта команда позволяет открыть файл рабочего пространства с расширением. vcw или. dcw.
? Команда Save Workspace сохраняет текущее рабочее пространство на диске.
? Команда Close Workspace закрывает текущее рабочее пространство и все его файлы.
? Команда Save сохраняет на диске текущий файл.
? Команда Save As… сохраняет текущий файл с новым именем или в новом месте.
? Команда Save All сохраняет все открытые файлы активного проекта.
? Команда Page Setup… позволяет настроить параметры бумаги для печати текущего файла.
? Команда Print… печатает текущий файл на принтере.
? Команда Recent Files выводит список недавно открывавшихся файлов.
? Команда Recent Workspaces отображаеит список недавно открывавшихся рабочих пространств.
? Команда Exit позволяет завершить работу со средой.
Структура и файлы проектаВершиной проектной иерархии является рабочее пространство workspace, которое позволяет организовать работу с группой проектов. Оно содержит в себе один или более проектов. Файл рабочего пространства имеет расширение. vcw и является простым текстовым файлом, содержащим в себе перечень входящих в рабочее пространство проектов. Создание нескольких проектов внутри одного рабочего
пространства имеет смысл только в том случае, когда проекты объединены логически. К таким решениям можно отнести комплект клиентского и серверного приложения или выполняемое приложение и библиотеку.Упражнение 4.2
1. Закрыть текущее рабочее пространство, выполнив команду File ? Close workspace.
2. Создать новое рабочее пространство при помощи команды меню File ? New и в диалоговом окне, которое будет выведено на экран, выбрать вкладку Workspaces.
3. В строке Workspace Name нужно ввести значение MyWSP, а затем нажать кнопку OK. Новое пустое рабочее пространство будет создано.
Вторым уровнем проектной иерархии является проект. Проект объединяет в себе все файлы, которые необходимы для создания и работы приложения.
Для того чтобы начать работу с проектом в среде, можно создать новое рабочее пространство, в которое вы можете добавить один или несколько проектов. Но есть и другой способ. Можно просто создать новый проект. При этом рабочее пространство будет создано автоматически с тем же именем, которое получит проект.
? В примере был использован первый способ, когда сначала было создано рабочее пространство. Теперь нужно создать в нем проект.
Упражнение 4.2 (продолжение)
4. Выполнить команду File ? New. В появившемся диалоговом окне нужно выбрать вкладку Projects и в списке указать пиктограмму WCE Pocket PC 2002 Application.
5. В строке Project Name ввести имя проекта FirstPrApp, а затем взвести флажок Add to current workspace.
6. Нажать кнопку OK. На экран будет выведен мастер создания проекта. В этом окне располагаются три пиктограммы. Выбор пиктограммы An empty project приведет к созданию пустого проекта. Кроме самого файла проекта ничего не будет создано. При выборе пиктограммы A Simple Windows CE application будут созданы файл проекта и файлы для запуска простейшего приложения Windows CE. Выбор пиктограммы A typical «Hello Word» application приведет к созданию приложения с формой, главным меню и надписью Hello, Word! в центре формы. Нужно выбрать последний вариант и нажать кнопку Finish. Приложение будет создано.
7. В созданном приложении нужно открыть вкладку FileView в окне Workspace и раскрыть структуру проекта FirstPrApp. В списке нужно отыскать файл ReadMe.txt. В этом файле кратко перечислены все созданные в составе проекта файлы и их назначение.
FirstPrApp.vcp – файл проекта. Это текстовый файл, который может быть открыт в любом текстовом редакторе. Редактировать этот файл не следует, это делается средой автоматически, когда разработчик устанавливает настройки проекта. Файл с расширением. vcp представляет собой набор инструкций для утилиты eVC NMAKE, которая осуществляет управление компиляцией модулей и сборкой файла проекта.
FirstPrApp.cpp – основной файл проекта. В этом файле располагается код проекта. То есть именно в этом файле можно найти код основной процедуры WinMain и код инициализации окна и его компонентов. В проекте приложения может присутствовать сколько угодно файлов с расширением. cpp, но один, в котором реализована функция WinMain, должен быть обязательно. Один файл. cpp реализует один модуль (единицу компиляции) кода.
FirstPrApp.h – заголовочный файл к модулю FirstPrApp.cpp. В этом файле находятся все объявления соответствующего модуля, которые должны быть видны из других модулей. Реализация кода также может присутствовать в файле с расширением.h.
FirstPrApp.rc – файл ресурсов. В этом файле содержится список ресурсов, подключаемых к проекту (пиктограммы, диалоги, строки, меню и т. д.).
FirstPrApp.ico – файл, содержащий пиктограмму приложения.
StdAfx.h, StdAfx.cpp, Newres.h – файлы, используемые для режима кэширования компиляции стандартных заголовков. Когда в проекте используются стандартные файлы, нет нужды изменять их в процессе работы над проектом. Соответственно, нет необходимости перекомпилировать эти файлы каждый раз при сборке проекта, достаточно сделать это один раз, что значительно ускоряет время компиляции и сборки приложения.
Resource.h – стандартный файл объявления новых ресурсов.
? В проект, создаваемый при помощи технологии Microsoft Foundation Classes, может входить еще множество дополнительных файлов, создаваемых мастером. Количество этих файлов зависит от того, насколько сложный проект создает разработчик.
? Все файлы с расширениями. cpp и. h могут быть прочитаны и отредактированы любым текстовым редактором.
? При создании рабочего пространства в текущем каталоге создается папка с именем рабочего пространства, в которой размещается файл с расширением. vcw. При создании подключаемого к рабочему пространству проекта, папка проекта создается внутри папки рабочего пространства и имеет имя, совпадающее с именем проекта. Все файлы проекта создаются внутри этой папки.Упражнение 4.2 (продолжение)
8. Выполнить команду File ? New. В диалоговом окне нужно выбрать вкладку Projects и на ней из основного списка выбрать значение WCE Pocket PC 2002 Application
9. В строке Project Name указать имя проекта SecPrApp, а затем взвести флажок Add to current workspace.
10. Нажать кнопку OK. На экран будет выведен мастер создания проекта. В нем можно выбрать значение A Simple Windows CE application и нажать кнопку Finish. Приложение будет создано.
11. В созданном приложении нужно открыть вкладку FileView в окне Workspace. Там можно увидеть, что в папке Workspace \'MyWsp\' находится уже два проекта. Причем проект, созданный последним, выделен жирным шрифтом. Это значит, что этот проект в данный момент является активным, и действие относящихся к проекту пунктов меню и инструментов будет относиться именно к этому проекту.
Управление проектом при помощи контекстного меню
Большинство действий, связанных с управлением настройками проекта и его структурой, можно произвести в окне FileView при помощи контекстного меню. Состав контекстного меню изменяется в зависимости от того, какой объект вызвал его.
Команды контекстного меню на уровне Workspace
? Команда Add New Project to Workspace выводит на экран окно мастера создания проектов и позволяет добавить новый проект к рабочему пространству.
? Команда Insert Project into Workspace выводит на экран окно открытия проекта. Открытый проект добавляется к текущему рабочему пространству.
Команды контекстного меню на уровне Project
? Команда Build осуществляет компиляцию, сборку и загрузку в эмулятор текущего проекта и всех его подпроектов.
? Команда Build (selection only) осуществляет компиляцию, сборку и загрузку в эмулятор текущего проекта. Связанные проекты при этом не обрабатываются.
? Команда Clean (selection only) удаляет из каталогов проекта все скомпилированные файлы.
? Команда New Folder создает новую папку в структуре проекта. При этом реальная папка в каталоге проекта не создается. Эта команда нужна только для группирования файлов внутри структуры проекта.
? Команда Add Files to Project позволяет включить в состав проекта новые файлы. Она выводит на экран меню открытия файла.
? Команда Set Active Project делает выбранный проект активным в данном рабочем пространстве. Активный проект выделяется в окне FileView полужирным шрифтом, и все команды меню Build выполняются именно для этого проекта.
? Команда Settings… выводит на экран окно изменений параметров проекта.
? Команда Properties выводит на экран окно правил компиляции для файла проекта.
Команды контекстного меню на уровне папок
? Команда New Folder… создает подпапку в папке. Реальный каталог на диске не создается.
? Команда Add Files to Folders… выводит на экран диалоговое окно открытия файла. Открытый файл добавляется к текущей папке только виртуально, реальное местоположение файла не изменяется.
? Команда Settings… выводит на экран окно Project Settings, в котором отображаются настройки для данной папки.
? Команда Properties отображает окно со свойствами данной папки.
Команды контекстного меню на уровне файлов
? Команда Open открывает выбранный файл в соответствующем редакторе.
? Команда Compile компилирует выбранный файл в объектный код.
? Команда Settings выводит на экран окно Project Settings, в котором указываются настройки для данного файла.
? Команда Properties выводит окно, отображающее свойства данного файла.
Редактирование кода
Редактор кода – это текстовый редактор, обладающий функциями подсветки синтаксиса, расширенными возможностями редактирования и форматирования и тесно интегрированный с отладчиком. Все его возможности рассматриваются в этом разделе
Выделение текста
Выделение текста в редакторе производится привычными способами. Пользователь может выделить текст при помощи мыши или передвигая текстовый курсор при помощи клавиш со стрелками на клавиатуре при нажатой клавише Shift.
В левой части окна редактора кода находится вертикальная полоса серого цвета, которая является полем отметок (Selection Margin). Щелчок на поле отметок напротив какой-либо строки выделяет эту строку целиком.
В окне редактора кода возможно выделение текста вертикальной прямоугольной колонкой. Для этого надо установить текстовый курсор в один из предполагаемых углов прямоугольника, который должен быть выделен, и нажать сочетание клавиш Ctrl+Shift+8. После этого можно расширять прямоугольник в любую сторону либо клавишами со стрелками, либо мышью. Выполнение операции редактирования над выделенным прямоугольником снимает режим выделения колонкой. Если надо снять этот режим без выполнения операций редактирования, достаточно нажать клавишу Esc.