По статье Джорджа Руиза-Вальдепеньи, Образовательная служба ESRI, в журнале ArcUser, октябрь-декабрь 2006 г.
У компании ESRI сотни тысяч корпоративных и индивидуальных пользователей, работающих в самых разных областях и решающих чрезвычайно широкий круг задач. Не удивительно, что для успешной деятельности им порой нужны специфические функциональные возможности, по их мнению или действительно отсутствующие в текущих версиях программного обеспечения ESRI. И тогда они обращаются в компанию с пожеланиями и предложениями о добавлении новых функций и инструментов в следующие версии программных продуктов. А некоторые, при наличии соответствующих навыков и средств, разрабатывали дополнительные функциональные возможности, приобретая объектные коды ESRI. Но далеко не всем это подходит.
Теперь, после перевода новых разработок компании на объектно-ориентированную архитектуру, пользователи могут средствами любого COM-совместимого языка программирования наращивать и изменять программное обеспечение ESRI, адаптируя его под свои нужды.
Однако, настоятельно рекомендуется перед тем, как начать писать собственные программы, убедиться, что необходимые вам функциональные возможности действительно еще не разработаны. Настольные продукты ArcGIS Desktop через приложения ArcMap и ArcCatalog предоставляют много очень полезных и важных функций, доступных через графический пользовательский интерфейс.
Начать поиск лучше всего с диалогового окна Настроить (Customize). Через него вы можете обратиться к существующим инструментам и командам, которых нет в стандартном интерфейсе по умолчанию, а также к примерам расширений, задач, видов и стилей представления. Разнообразные дополнительные ресурсы также имеются в справочной системе Developers Help для пакета разработчика ArcGIS Desktop software developer kit, на сайте ESRI Developer Network Web (end/esri.com), в поставляемой с ArcGIS документации.
Диалоговое окно Настроить
ArcMap и ArcCatalog можно перенастроить, не написав ни единой строки кода. В диалоговом окне Настроить можно создавать, добавлять, перемещать и удалять панели инструментов и команды, и даже добавлять инструменты, созданные самостоятельно или третьими лицами. Чтобы открыть диалоговое окно Настроить, щёлкните в стандартном меню Инструменты > Настроить. В диалоговом окне Настроить есть закладки Панели инструментов, Команды и Дополнительные настройки (см.рис.). Закладки Панели инструментов и Команды используются для изменения пользовательского интерфейса, а закладка Дополнительные настройки позволяет осуществлять контроль над основными пользовательскими настройками.
Три закладки диалогового окна Настроить – Панели инструментов, Команды и Дополнительные настройки. Через закладку Дополнительные настройки устанавливаются настройки для разработчиков.
Панели инструментов
На закладке Панели инструментов (Toolbars) диалогового окна Настроить можно подключать и отключать, переименовывать или удалять существующие панели инструментов. С помощью кнопки Сброс в диалоговом окне Настроить любые внесенные изменения можно отменить и вернуть отдельную панель к исходному состоянию.
Новые панели инструментов создаются тоже на закладке Панели инструментов. При создании новой панели инструментов система предложит вам ввести название новой панели инструментов и создаст маленькую серую панель в пользовательском интерфейсе. Команды на неё можно добавить с помощью закладки Команды диалогового окна Настроить.
Команды
Закладка Команды (Commands) диалогового окна Настроить позволяет просмотреть все команды, имеющиеся в ArcMap или ArcCatalog. Выберите нужную команду и перетащите её из диалогового окна Настроить на панель инструментов в виде кнопки или в меню в виде команды. Установите, где будут храниться сделанные вами настройки – в текущем документе карты (.mxd), или в шаблоне Normal (.mxt). Если выбрать текущий документ .mxd, сделанные настройки будут видны только в данном конкретном документе. Если сохранить эти настройки в шаблоне Normal, то они будут видны при каждом открытии нового документа.
Дополнительные настройки
Закладка Дополнительные настройки (Options) диалогового окна Настроить контролирует основные свойства настройки среды разработчика.
Все команды ArcMap или ArcCatalog, организованные по категориям, доступны на закладке Команды. Выделив категорию в левой части диалогового окна, вы увидите все команды этой категории в списке в правой части окна. Примерами типичных категорий являются Выборка, Переместить/Масштабировать и Файл.
Многие из этих команд не включены в интерфейс ArcGIS по умолчанию. Чтобы добавить команду в интерфейс, выделите её в этом диалоговом окне и перетащите на панель инструментов в качестве кнопки или в меню в качестве команды. Имейте в виду, что некоторые команды, требующие взаимодействия с пользователем, не будут работать как команды меню, а такие команды, как свойства слоя, работают только в контекстных меню. Список доступных в ArcGIS Desktop команд вы найдете в разделе Customizing (настройка) справочной системы ArcGIS Desktop Help.
Добавление пользовательских команд из файла
Пользовательские команды – это функции, созданные с помощью любого COM-совместимого языка программирования, которые распространяются в виде файлов ActiveX DLL или исполняемых файлов (Executable – .exe). Добавить пользовательскую команду в ArcMap или ArcCatalog можно следующим образом:
1. На стандартной панели инструментов щёлкните Инструменты > Настроить.
2. В диалоговом окне Настроить на закладке Команды щёлкните Добавить из файла.
3. Перейдите к файлу, который содержит пользовательскую команду, щёлкните на нужном файле и на кнопке Открыть. Появится диалоговое окно добавленных объектов. Там сообщается о том, что новые объекты зарегистрированы в ArcMap или ArcCatalog. Щёлкните OK.
4. Щёлкните на закладке Панели инструментов. Щёлкните на закладке Команды. Щёлкните на категории пользовательских команд в списке категорий.
Щёлкните на команде и перетащите её на целевую панель инструментов. Щёлкните Закрыть. Использование кнопки Добавить из файла приводит к автоматической регистрации системой компоненты DLL. Имейте в виду, что этот метод нельзя использовать для файлов DLL, созданных в Visual Studio .NET.
О добавлении пользовательских команд с помощью примеров
Папка с примерами инсталлируется, если при установке программного обеспечения была выбрана опция Complete. Эта опция приведет к установке Developers Help Kit и всех примеров. Некоторые примеры пользовательских команд можно установить вышеупомянутым методом Добавить из файла, а для некоторых потребуется приложение Components Categories.
Добавление примеров как Component Category
После компиляции примера и создания нового файла DLL с помощью файла проекта исходного кода примера, зарегистрируйте свой файл DLL с помощью Regsvr32. Для этого:
1. На панели задач щёлкните Пуск (Start) > Выполнить (Run).
2. В диалоговом окне Запуск программы, введите “regsvr32 <путь к вашему файлу>” (например, введите “regsvr32
D:SamplesApplicationFrameworkSampleExtensionSampleExtension.dll”).
3. Щёлкните OK.
После того, как DLL зарегистрирована, используйте утилиту Component Category Manager, чтобы добавить файл примера DLL в подходящую категорию компонента. Существует несколько способов запустить Component Category Manager. Можно перейти к инсталляционному каталогу ArcGIS и запустить Categories.exe (например, C:Program FilesArcGISbincategories.exe). Можно также щёлкнуть Пуск (Start) > Все программы (All Programs) > ArcGIS > Developer Tools > Component Category Manager.
Когда файл примера добавлен в подходящую категорию компонента, ArcGIS будет автоматически сообщено о новых объектах. Если объект не распознаётся, перегрузите компьютер и перезапустите ArcGIS. Далее:
1. В Component Category Manager дважды щёлкните на категории, где зарегистрирован файл примера. Щёлкните Add Object (Добавить объект).
2. В диалоговом окне Find Add-in перейдите к файлу, выберите его и щёлкните Открыть.
3. В диалоговом окне Add Object отметьте файл примера, чтобы добавить его в данную категорию и щёлкните OK.
4. Теперь этот компонент должен быть в списке в Component Category Manager. Щёлкните OK.
Дополнительная информация
Более подробную информацию о создании и подключении пользовательских команд вы можете найти в файле Developing_with_ArcObjects/Desktop_Development_Guide.pdf, который входит в поставляемую с ArcGIS документацию.