Как перетащить мышью название слоя
-
- Интересующийся
- Сообщения: 20
- Зарегистрирован: 10 ноя 2011, 09:59
- Репутация: 0
Как перетащить мышью название слоя
Доброго всем времени суток. Подскажите пожалуйста, можно-ли обработать нажатие кнопки мыши на названии слоя в "Table of Contents", и перетащить это название допустим в textbox на созданной мной форме. Использую ArcMap 9.3, Visual Studio 2005, C#.
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: Как перетащить мышью название слоя
не хотите пункт в контекстное меню слоя добавить? (а-ля команда "отправить в textbox"?
понравилось? жми палец вверх 

-
- Интересующийся
- Сообщения: 20
- Зарегистрирован: 10 ноя 2011, 09:59
- Репутация: 0
Re: Как перетащить мышью название слоя
Я хочу добавить некоторый элемент "игры" в процесс =) а вообще возможно обработать такое событие мыши?
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Как перетащить мышью название слоя
За события в TOC отвечает интерфейс ITOCControlEvents. Там есть метод OnMouseDown.
Есть интерфейс IContentsView у которого можно получить хэндл окна и дальше djpvj;yj пользоваться виндовым механизмом DnD.
Кроме того есть интерфейс IGxPasteTarget который по идее должен расширить ваш textbox функционалом принимать DnD.
Еще смотрите IClipboardFormat и LayersClipboardFormat.
Есть интерфейс IContentsView у которого можно получить хэндл окна и дальше djpvj;yj пользоваться виндовым механизмом DnD.
Кроме того есть интерфейс IGxPasteTarget который по идее должен расширить ваш textbox функционалом принимать DnD.
Еще смотрите IClipboardFormat и LayersClipboardFormat.
-
- Интересующийся
- Сообщения: 20
- Зарегистрирован: 10 ноя 2011, 09:59
- Репутация: 0
Re: Как перетащить мышью название слоя
Хэндл получил, но что дальше сним сделать не могу понять =( Как я понял надо получить TOCControl, но информацию нашел только для TOC как компонента на форме:
ESRI.ArcGIS.TOCControl.AxTOCControl axTOCControl1;
ITOCControl TOCControl;
m_TOCControl = (ITOCControl) axTOCControl1.Object;
А как получить m_TOCControl для ArcMap если я работаю с таблицей самого ArcMap?
ESRI.ArcGIS.TOCControl.AxTOCControl axTOCControl1;
ITOCControl TOCControl;
m_TOCControl = (ITOCControl) axTOCControl1.Object;
А как получить m_TOCControl для ArcMap если я работаю с таблицей самого ArcMap?
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя