Вопросы по разработке инструментов в ArcGIS 9.3
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
http://edndoc.esri.com/arcobjects/9.2/N ... ed7d14.htm
http://edndoc.esri.com/arcobjects/8.3/u ... catmgr.htm
http://edndoc.esri.com/arcobjects/9.0/e ... gories.htm
http://edndoc.esri.com/arcobjects/8.3/U ... gister.htm
http://edndoc.esri.com/arcobjects/8.3/u ... catmgr.htm
http://edndoc.esri.com/arcobjects/9.0/e ... gories.htm
http://edndoc.esri.com/arcobjects/8.3/U ... gister.htm
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Не совсем ясно, как реализуется это:Bishop писал(а):http://edndoc.esri.com/arcobjects/9.2/N ... ed7d14.htm
Куда нужно заходить?The simplest and recommended method is to add code to your .NET classes that automatically registers the classes in a particular component category when the component is registered with COM.
By using the ArcGIS Component Category Registrar dialog box, which is part of the Visual Studio IDE Integration Framework, you can quickly add code to your classes, which automatically registers them to component categories. This dialog box uses classes from the ESRI.ArcGIS.ADF assembly to help perform the registrations
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Я не пишу на Net. В случае чистого Си++ делается запись в rgs файл (http://edndoc.esri.com/arcobjects/9.0/) и все.
Нашел аналогичный вариант для Net - http://edndoc.esri.com/arcobjects/9.0/A ... gories.htm
Я так понимаю это пишется в начале класса.
Еще есть пошаговая инструкция http://edndoc.esri.com/arcobjects/9.0/
читайте раздел "Adding COM category registration functions"
Нашел аналогичный вариант для Net - http://edndoc.esri.com/arcobjects/9.0/A ... gories.htm
Я так понимаю это пишется в начале класса.
Еще есть пошаговая инструкция http://edndoc.esri.com/arcobjects/9.0/
читайте раздел "Adding COM category registration functions"
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Поднимаю этот давно заданный вопрос. Как можно узнать, с помощью какого компонента реализована таблица входных наборов данных в инструменте Merge?Alexei24 писал(а):1. Предполагается, что когда инструмент будет вынесен на панель Tools, при его выборе на экране будет открываться форма, одним из компонентов которой является таблица для отображения задействованных данных (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). Так вот, вопрос, собственно, заключается в том, как это сделать с помощью средств программирования, предоставляемых ArcGIS 9.3? Сама проблема состоит в следующем: в Toolbox'е дизайнера форм ArcGIS 9.3 не нахожу компонента для реализации таблицы такого типа.
И ещё вопрос по этому поводу: а где находится IPictureDisp?Дмитрий Барышников писал(а):описание IMxDocument см. в ESRI.ArcGIS.ArcMapUI
описание IApplication cм. в ESRI.ArcGIS.Framework
описание IMxApplication см. в ESRI.ArcGIS.ArcMapUI
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). А то не понятно о чем речь.
Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?
Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Дмитрий Барышников писал(а):Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). А то не понятно о чем речь

Собственно, интересует таблица.
Это интерфейс иконки приложения и курсора. Вот выдержка из примера кода для ITool в ArcGIS Developer Help:Дмитрий Барышников писал(а):Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?
Код: Выделить всё
Implements ICommand
Implements ITool
Dim m_pApp As IApplication 'ArcMap application
Dim m_pBitmap As IPictureDisp 'Bitmap for the command
Dim m_pCursor As IPictureDisp 'Cursor for the command
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
По поводу IPictureDisp - это стандартный COM интерфейс из Windows.
http://msdn.microsoft.com/ru-ru/library ... s.85).aspx
К ESRI имеет опосредованное отношение.
http://msdn.microsoft.com/ru-ru/library ... s.85).aspx
К ESRI имеет опосредованное отношение.
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm
Какой конкретно соответствует я с ходу не нашел. Возможно не существует публичного интерфейса для данного контрола.
Какой конкретно соответствует я с ходу не нашел. Возможно не существует публичного интерфейса для данного контрола.
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Спасибо! Буду разбиратьсяДмитрий Барышников писал(а):Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm

-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Подниму, пожалуй, и описание работы инструмента:
Собственно, вопрос в том, а с помощью каких функций можно всё это запрограммировать? Или даже - где нужно искать эти функции, в каком разделе? Ещё более конкретно - в каком разделе находятся функции для работы с экраном и формами?разрабатываю инструмент, работа которого предполагается, что будет заключаться в следующем: на основе "тыканья" мышкой по растру формируется массив точек со значениями параметра, после чего создаётся новый точечный слой с этим массивом в качестве таблицы атрибутов (либо выбранные точки добавляются в существующий)
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
С экраном: http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm
А формы по всему API разбросаны. Обычно в конце библиотеки пишется UI (user interface). Например, http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm
Возможно еще вот в это теме есть что-то похожее viewtopic.php?f=16&t=8806
А формы по всему API разбросаны. Обычно в конце библиотеки пишется UI (user interface). Например, http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm
Возможно еще вот в это теме есть что-то похожее viewtopic.php?f=16&t=8806
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Вопрос решён. Следующий момент, казалось бы, простой, но всё же решил проконсультироваться: нужно, при нажатии правой кнопкой мыши на экране ArcMap в соответствующем месте отображалась точка. Как это можно сделать?Alexei24 писал(а):Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Если просто точку то: IDisplay::DrawPoint (esriDisplay)
А вот если добавить точку в какой-то точечный слой, то IFeatureClass::CreateFeature (esriGeoDatabase)
А вот если добавить точку в какой-то точечный слой, то IFeatureClass::CreateFeature (esriGeoDatabase)
-
- Участник
- Сообщения: 98
- Зарегистрирован: 20 ноя 2010, 14:37
- Репутация: 0
Re: Вопросы по разработке инструментов в ArcGIS 9.3
Это на C++? А на Visual Basic как?Дмитрий Барышников писал(а):Если просто точку то: IDisplay::DrawPoint (esriDisplay)
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 1 гость