Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ArcGIS 9 ArcMap Руководство пользователя

.pdf
Скачиваний:
658
Добавлен:
02.03.2016
Размер:
32.92 Mб
Скачать

Создание

пользовательских команд с помощью VBA

В VBA в ArcMap доступна об/ ширная библиотека объектов. Например, ArcMap представ/

ляет такие объекты как Map

(Карта), PageLayout (Компо/ новка страницы), LineFillSymbol (Штриховка) и др. В справке разработчика ArcObjects описаны классы, интерфейсы, свойства, методы и перечисления, доступные в среде разработчика, встроен/ ной в ArcMap.

Панели инструментов и коман/ ды представляют собой COM/ объекты. Чтобы быть коман/

дой, объект должен удовлетво/

рять ряду общих требований

для всех команд. Чтобы быть

инструментом, объект должен

соответствовать требованиям

инструментов. Среда настрой/ ки позволяет вам легко созда/

вать пользовательские команды

с помощью VBA. Вы создаете

новую кнопку, инструмент,

поле со списком или поле редак/

тирования (все вместе называ/ ется элементами управления / UIControls) в диалоговом окне Настроить, а затем присоединя/

ете код к этому объекту элемен/

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

Создание новой команды

1.Откройте панель инструмен" тов, к которой хотите добавить новую команду.

2.В меню Инструменты нажми" те Настроить.

3.Перейдите на закладку Ко" манды.

4.Щелкните на стрелке вниз в поле Сохранить в и выберите документ или шаблон, в кото" ром хотите сохранить новую команду.

5.В списке категорий щелкни" те Элементы Управления.

6.Щелкните Новый Элемент Управления.

7.Выберите тип элемента управ" ления, который хотите со" здать.

8.Нажмите Создать, чтобы со" здать элемент управления без присоединенного к нему кода.

Имя элемента управления по" явится в списке команд. Вы можете добавить код к эле" менту управления позже. Если вы хотите это сделать сразу, нажмите Создать и ре" дактировать и переходите к шагу 13.

9.Нажмите на новый элемент управления; нажмите еще раз, чтобы перейти в режим редактирования, и введите новое имя для элемента уп" равления. f

5

6

4

7

8

9

НАСТРОЙКА ARCMAP

539

10.Перетащите созданный эле" мент на панель инструментов или в меню.

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

12.Щелкните на новом элементе управления правой кнопкой и нажмите Посмотреть источ" ник.

Появляется редактор Visual Basic; в окне кода отобража" ется код, соответствующий элементу управления.

13.

Щелкните по стрелке вниз

10

 

 

возле Процедуры/События и

 

 

 

выберите одно из списка со"

 

 

 

бытий.

 

 

14.

Введите код для обработки со"

 

13

 

бытия.

 

 

15.Повторяйте шаги 13 и 14, пока не введете код для всех необ" ходимых событий.

16.Щелкните Сохранить в Ре" дакторе Visual Basic.

17.Щелкните Закрыть в Редак" торе Visual Basic.

18.Если вы нажали Создать и ре" дактировать на шаге 8, от" кройте диалог Настроить, пе" рейдите на закладку Команды и перетащите новый элемент управления на панель инстру" ментов или в меню.

19.Щелкните Закрыть в диалого" вом окне Настроить.

540

ARCMAP. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Работа с элементами управления (UIControls)

Когда вы создаете макрос и помещаете его на панель инструмен/

тов, то фактически определяете, что должно случиться при нажа/

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

ции на нажатие кнопки и выбор в меню. Процедуры обработки

событий, связанные с элементами управления, позволяют реагиро/ вать на действия пользователя и обновлять элементы управления в

соответствии с состоянием приложения. Если вы создадите поле со

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

Элемент управления Кнопка (UIButtonControl) работает точно так же, как встроенные в приложение кнопки. Обычно этот элемент управления используется для начала, завершения или прерывания действия или ряда действий. Вы можете написать код, который будет отображать кнопку доступной или уже нажатой в зависимос/ ти от ее состояния. Вы можете также задать Подсказку инстру/ мента, Сообщение, которое будет появляться в строке состояния, и, конечно, реакцию на нажатие кнопки.

Элемент управления Инструмент (UIToolControl) работает так

же, как и встроенные в приложение инструменты. Этот вид эле/ ментов управления обычно используется для осуществления неко/

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

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

чок кнопкой мыши или нажатие клавиши клавиатуры. К тому же

вы можете получать реакцию на выбор инструмента пользовате/ лем, двойное нажатие или нажатие правой кнопкой мыши на инст/

румент. Элемент управления Инструмент может возвращать ответ при обновлении карты или при дезактивации инструмента.

Элемент управления Поле со списком (UIComboBoxControl) дей/

ствует так, как поля со списками, содержащиеся в исходном интер/

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

ктра вариантов, из которых можно выбрать один. Вы можете вво/

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

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

работать с его элементами: возвращать индекс выбранного пункта, возвращать текст по указанному индексу, возвращать текст из поля

редактирования, определять, сколько всего элементов содержит

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

мента управления или изменение выбора. Как и с элементом уп/

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

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

вателем и на нажатие клавиши на клавиатуре. Для элемента уп/ равления можно создать подсказку и сообщение, которое будет ото/ бражаться в строке состояния.

НАСТРОЙКА ARCMAP

541

Добавление

пользовательской

команды

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

поддерживающий COM

(Component Object Model). Пользовательские команды, со/

зданные вне VBA, обычно рас/ пространяются как ActiveX

DLL (динамически подключае/ мые библиотеки). После добав/

ления пользовательского объек/

та в ArcMap, вы можете исполь/

зовать его, как и любую другую

встроенную команду.

1.В меню Инструменты щелк" ните Настроить.

2.Щелкните Добавить Из Фай" ла.

3.Перейдите к файлу, содержа" щему пользовательскую ко" манду.

4.Нажмите на файл и щелкните Открыть.

 

Появится диалоговое окно До"

 

 

 

 

 

 

 

бавленные объекты, в кото"

 

2

 

 

 

 

 

ром будет представлен список

 

 

 

 

 

 

 

новых объектов, зарегистри"

 

 

 

 

 

 

 

рованных с ArcMap.

 

 

 

 

 

 

5.

Щелкните ОК.

 

 

 

 

 

 

6.

Перейдите на закладку Пане"

 

 

 

 

 

 

 

ли инструментов.

 

 

 

 

 

 

7.

Включите панель инструмен"

 

 

 

 

 

 

 

тов, к которой хотите добавить

 

 

 

 

 

4

 

свою команду.

 

 

 

 

 

 

 

 

 

 

8.

Перейдите на закладку Ко"

 

 

 

 

 

 

 

манды.

 

 

 

5

 

 

 

 

 

9.

В списке категорий выберите

 

 

 

 

 

 

 

пользовательскую категорию

 

 

 

 

 

 

 

команд.

9

10

 

 

 

 

 

8

 

 

 

 

10.Перетащите свою команду из списка команд на панель ин" струментов.

11.Щелкните Закрыть.

542

ARCMAP. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Обновление модуля ArcID

Если вы разрабатываете прило/ жения или макросы, которые используют добавленные вами COM/объекты, то можете обно/ вить модуль Normal.ArcID, что/ бы включить в него добавлен/ ные команды. Таким способом вы сможете ссылаться на добав/ ленные COM/объекты, исполь/

зуя их имена при вызове мето/

дов, например CommandBars. Find. Обновление также позво/

ляет поддерживать Normal. ArcID в соответствии с совре/

менным состоянием приложе/ ния, на тот случай, если вы за/

хотите удалить команду.

1.

В меню Инструменты нажми"

2

 

те Настроить.

 

 

2.

Перейдите на закладку До"

 

 

 

полнительные настройки.

 

 

3.

Щелкните Обновить иодуль

 

 

 

ArcID.

 

 

4.

Щелкните Закрыть.

 

 

3

4

Используя способность автоматического дополнения кода VB, вы можете открывать список команд, которые были добавлены в модуль ArcID.

НАСТРОЙКА ARCMAP

543

Блокировка документов и шаблонов

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

ной на закладке Дополнитель/

ные настройки диалога Настро/ ить. К тому же, блокировка на/

стройки запретит доступ к диа/ логу макросов и Редактору

Visual Basic. Для блокирования отдельных документов и шаб/

лонов, но сохранения при этом

доступа к VBE, вы можете вос/

пользоваться закладкой Защи/

та в диалоговом окне Свойства Проекта VBA. Этот диалог поз/

воляет установить защиту доку/ ментов и шаблонов ArcMap с

помощью паролей.

См. также

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

Блокировка настройки

1.В меню Инструменты нажми" те Настроить.

2.Перейдите на закладку До"

полнительные настройки.

3

3.Щелкните Заблокировать на" стройку.

4.В появившемся диалоговом

окне введите пароль, состоя"

 

 

 

 

6

 

 

 

щий минимум из пяти букв и

 

 

 

 

 

 

цифр, и подтвердите его.

 

 

 

 

 

 

Чтобы использовать диалого"

4

5

 

 

вое окно Настроить, диалог

 

 

 

 

 

 

Макросы или редактор Visual

 

 

 

 

 

 

Basic с документом или шаб"

 

 

 

 

 

 

 

 

 

 

 

 

лоном, впоследствии потребу"

 

 

 

 

 

 

ется ввести правильный па"

 

 

 

 

 

 

роль.

 

 

 

 

 

 

 

 

 

 

 

 

5.Щелкните ОК в диалоге Бло" кировка.

6.Щелкните Закрыть.

Разблокирование

2 3

настройки

1.В меню Инструменты нажми" те Настроить.

Появится диалог Разблокиро" вание.

2.Введите пароль, чтобы разбло" кировать настройку.

3.Щелкните ОК.

Появится диалоговое окно Настроить. Если вы введете неверный пароль, появится соответствующее сообщение.

544

ARCMAP. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Блокировка документов и шаблонов

1.В меню Инструменты укажи" те на Макросы, затем нажми" те Редактор Visual Basic.

2.

В окне Проект (Project) щелк"

 

 

 

 

 

 

 

2

 

 

ните правой кнопкой на про"

 

 

 

 

 

 

 

 

 

 

 

 

 

екте или шаблоне, который

 

 

 

 

 

 

 

 

 

 

хотите заблокировать, и на"

 

 

 

 

 

 

 

 

 

 

жмите Свойства проекта.

 

 

 

 

 

 

 

 

 

3.

Перейдите на закладку Защи"

 

 

 

 

 

 

 

 

 

 

та.

3

 

 

 

 

 

 

 

 

4.

Включите опцию Запретить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Просмотр проекта, чтобы его

 

 

 

 

 

 

 

 

 

 

нельзя было посмотреть и от"

4

 

 

 

 

 

 

 

 

 

редактировать.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

Введите пароль и подтвердите

 

 

 

 

 

 

 

 

 

 

его.

 

 

 

 

 

 

 

 

 

6.

Щелкните ОК в диалоге Свой"

 

 

 

 

 

 

 

 

 

 

ства проекта.

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

Щелкните Сохранить проект.

 

 

 

 

 

 

 

 

 

 

При следующей попытке от"

 

 

 

 

 

 

 

 

 

 

крыть проект и просмотреть

 

 

 

 

 

 

 

 

 

 

его свойства, пользователь

 

 

 

 

 

 

 

 

 

 

должен будет ввести пароль.

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НАСТРОЙКА ARCMAP

545

Изменение защиты VBA

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

меститься на ваш компьютер и

попасть в ваш Нормальный шаблон. Начиная с этого момен/

та, каждый открываемый на вашем компьютере документ

может быть автоматически “ин/ фицирован”. Если этот доку/

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

В приложениях ESRI предус/

мотрены несколько уровней за/ щиты, перечисленных в диало/

говом окне Защита, с целью уменьшения вероятности зара/

жения вирусами макросов ва/ ших документов, шаблонов и

надстроек.

См. также

Чтобы узнать подробнее об ис! пользовании цифровых подписей и об их совместной работе с раз! ными уровнями защиты, смот! рите Справку Microsoft Visual Basic в Редакторе Visual Basic.

1.В меню Инструменты нажми" те Настроить.

2.Перейдите на закладку До" полнительные настройки.

3.Нажмите Изменить режим за" щиты VBA.

4.Выберите нужный уровень за" щиты.

5.Перейдите на закладку На"

дежные источники, чтобы 3 просмотреть список имен и названий организаций, чьи макросы можно запускать.

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

6. Щелкните ОК.

4

7. Щелкните Закрыть.

2

7

6

546

ARCMAP. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]