Re: Вопросы по разработке инструментов в ArcGIS 9.3
Добавлено: 15 мар 2012, 12:02
Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
https://gis-lab.info/forum/
Не совсем ясно, как реализуется это: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
Поднимаю этот давно заданный вопрос. Как можно узнать, с помощью какого компонента реализована таблица входных наборов данных в инструменте 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
Дмитрий Барышников писал(а):Можно скриншот нужного вам элемента: (по аналогии с тем, как, например, реализована таблица для списка исходных слоёв в форме инструмента 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
Спасибо! Буду разбиратьсяДмитрий Барышников писал(а):Элементы диалога геопроцессинга содержатся в этой библиотеке: http://edndoc.esri.com/arcobjects/9.1/C ... ibrary.htm
Собственно, вопрос в том, а с помощью каких функций можно всё это запрограммировать? Или даже - где нужно искать эти функции, в каком разделе? Ещё более конкретно - в каком разделе находятся функции для работы с экраном и формами?разрабатываю инструмент, работа которого предполагается, что будет заключаться в следующем: на основе "тыканья" мышкой по растру формируется массив точек со значениями параметра, после чего создаётся новый точечный слой с этим массивом в качестве таблицы атрибутов (либо выбранные точки добавляются в существующий)
Вопрос решён. Следующий момент, казалось бы, простой, но всё же решил проконсультироваться: нужно, при нажатии правой кнопкой мыши на экране ArcMap в соответствующем месте отображалась точка. Как это можно сделать?Alexei24 писал(а):Как вообще запрограммировать открытие формы (из файла) при нажатии на значок инструмента на панели? Через IGxDialog?
Это на C++? А на Visual Basic как?Дмитрий Барышников писал(а):Если просто точку то: IDisplay::DrawPoint (esriDisplay)