Всем здравствуйте!
Мой вопрос уже был задан, но ответа я не получил, подскажите пожалуйста!
Выбираю инструментом объект на карте, данные об этом объекте выводятся в стандартное диалоговое окно предусмотренное работой кнопки Identify.
Как выводить эти же данные об объекте в свое диалоговое окно?
Как выводить в свое диалоговое окно не все подряд данные из таблицы, а только определенные поля?
Спасибо.
Считать данные из слоя
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 08 дек 2011, 18:14
- Репутация: 0
- Шаки
- Активный участник
- Сообщения: 187
- Зарегистрирован: 02 июл 2008, 11:57
- Репутация: 1
- Контактная информация:
Re: Считать данные из слоя
не отвечают т.к. алгоритм думаю Вы и сами знаете, а писать макрос за Вас вряд ли кто будет
Алгоритм
1)создайте инстумент уиконтрол
2)на его метод маус даун повесте определения объекта на котором был произведен клик мышы, установите его селект(где то на этом этапе Ваша макрос знает с какой таблицы и какая запись)
3) выберете из его таблицы содержания нужные поля и выводите их в свою форму
Это мой алгоритм, можно и по другому
Алгоритм
1)создайте инстумент уиконтрол
2)на его метод маус даун повесте определения объекта на котором был произведен клик мышы, установите его селект(где то на этом этапе Ваша макрос знает с какой таблицы и какая запись)
3) выберете из его таблицы содержания нужные поля и выводите их в свою форму
Это мой алгоритм, можно и по другому
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 08 дек 2011, 18:14
- Репутация: 0
Re: Считать данные из слоя
Да, алгоритм понятен спасибо, просто хотелось бы разъяснения, на что обратить внимание и что исправить, привожу кусок кода, если кто может подсказать, я не знаю как получить на выходе не все данные, а например поле ID, и как получить имя слоя который он нашел, pLayer.Name не печатается Спасибо. Я совсем новичок в этом деле

Код: Выделить всё
Dim pActiveView As IActiveView
Dim Form_Info As IIdentifyDialog
Dim pIdentifyDialogProps As IIdentifyDialogProps
Dim pEnumLayer As IEnumLayer
pActiveView = m_pMxDoc.FocusMap
Form_Info = New IdentifyDialog
pIdentifyDialogProps = Form_Info
Form_Info.Map = m_pMxDoc.FocusMap
Form_Info.Display = pActiveView.ScreenDisplay
Form_Info.ClearLayers()
pEnumLayer = pIdentifyDialogProps.Layers
pEnumLayer.Reset()
pLayer = pEnumLayer.Next
Do While Not pLayer Is Nothing
Form_Info.AddLayerIdentifyPoint(pLayer, X, Y)
pLayer = pEnumLayer.Next
Loop
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Считать данные из слоя
Приведенный код не соответствует предложенному выше алгоритму.
Ваш цикл перебирает среди слоев доступных к выборке в диалоге идентификации.
См. http://edndoc.esri.com/arcobjects/9.2/C ... gprops.htm
Ваш цикл перебирает среди слоев доступных к выборке в диалоге идентификации.
См. http://edndoc.esri.com/arcobjects/9.2/C ... gprops.htm
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей