Страница 4 из 5

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 15 мар 2012, 12:02
Дмитрий Барышников

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 20 мар 2012, 13:26
Алексей Дорофеев
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
Куда нужно заходить?

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 20 мар 2012, 22:06
Дмитрий Барышников
Я не пишу на 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"

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 23 ноя 2012, 21:56
Алексей Дорофеев
Alexei24 писал(а):1. Предполагается, что когда инструмент будет вынесен на панель Tools, при его выборе на экране будет открываться форма, одним из компонентов которой является таблица для отображения задействованных данных (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). Так вот, вопрос, собственно, заключается в том, как это сделать с помощью средств программирования, предоставляемых ArcGIS 9.3? Сама проблема состоит в следующем: в Toolbox'е дизайнера форм ArcGIS 9.3 не нахожу компонента для реализации таблицы такого типа.
Поднимаю этот давно заданный вопрос. Как можно узнать, с помощью какого компонента реализована таблица входных наборов данных в инструменте Merge?
Дмитрий Барышников писал(а):описание IMxDocument см. в ESRI.ArcGIS.ArcMapUI
описание IApplication cм. в ESRI.ArcGIS.Framework
описание IMxApplication см. в ESRI.ArcGIS.ArcMapUI
И ещё вопрос по этому поводу: а где находится IPictureDisp?

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 23 ноя 2012, 22:59
Дмитрий Барышников
Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). А то не понятно о чем речь.

Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 24 ноя 2012, 13:50
Алексей Дорофеев
Дмитрий Барышников писал(а):Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента Merge). А то не понятно о чем речь
Изображение
Собственно, интересует таблица.
Дмитрий Барышников писал(а):Откуда взялся интерфейс IPictureDisp - это какой-то параметр известной функции или что?
Это интерфейс иконки приложения и курсора. Вот выдержка из примера кода для ITool в ArcGIS Developer Help:

Код: Выделить всё

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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 24 ноя 2012, 22:32
Дмитрий Барышников
По поводу IPictureDisp - это стандартный COM интерфейс из Windows.
http://msdn.microsoft.com/ru-ru/library ... s.85).aspx
К ESRI имеет опосредованное отношение.

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 24 ноя 2012, 22:46
Дмитрий Барышников
Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm

Какой конкретно соответствует я с ходу не нашел. Возможно не существует публичного интерфейса для данного контрола.

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 25 ноя 2012, 12:29
Алексей Дорофеев
Дмитрий Барышников писал(а):Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm
Спасибо! Буду разбираться :)

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 03 дек 2012, 21:22
Алексей Дорофеев
Подниму, пожалуй, и описание работы инструмента:
разрабатываю инструмент, работа которого предполагается, что будет заключаться в следующем: на основе "тыканья" мышкой по растру формируется массив точек со значениями параметра, после чего создаётся новый точечный слой с этим массивом в качестве таблицы атрибутов (либо выбранные точки добавляются в существующий)
Собственно, вопрос в том, а с помощью каких функций можно всё это запрограммировать? Или даже - где нужно искать эти функции, в каком разделе? Ещё более конкретно - в каком разделе находятся функции для работы с экраном и формами?

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 03 дек 2012, 22:20
Дмитрий Барышников
С экраном: 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

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 10 дек 2012, 15:03
Алексей Дорофеев
Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 21 дек 2012, 09:43
Алексей Дорофеев
Alexei24 писал(а):Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?
Вопрос решён. Следующий момент, казалось бы, простой, но всё же решил проконсультироваться: нужно, при нажатии правой кнопкой мыши на экране ArcMap в соответствующем месте отображалась точка. Как это можно сделать?

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 22 дек 2012, 14:20
Дмитрий Барышников
Если просто точку то: IDisplay::DrawPoint (esriDisplay)
А вот если добавить точку в какой-то точечный слой, то IFeatureClass::CreateFeature (esriGeoDatabase)

Re: Вопросы по разработке инструментов в ArcGIS 9.3

Добавлено: 24 дек 2012, 15:43
Алексей Дорофеев
Дмитрий Барышников писал(а):Если просто точку то: IDisplay::DrawPoint (esriDisplay)
Это на C++? А на Visual Basic как?