Как записать щелчок мышью и освободить координаты в ArcMap, используя VB.NET?
Первый постер здесь. Я долго искал ответы на эти вопросы, но мне не повезло.
Я пишу инструмент в VB.NET, который записывает ограничивающие координаты прямоугольника, нарисованного в любом месте интерфейса карты в ArcMap. Мне нужно записать координаты клика "mousedown" в дополнение к координатам освобождения "mouseup".
Я сделал то же самое в mapinfo, используя mapbasic, который был самым простым:
' xy where user clicked
x1 = CommandInfo(CMD_INFO_X)
y1 = CommandInfo(CMD_INFO_y)
' xy where user released
x2 = CommandInfo(CMD_INFO_X2)
y2 = CommandInfo(CMD_INFO_y2)
' check and apply correct ordering of max/min x/y values
if x1 > x2 then
maxX = x1
minX = x2
else
maxX = x2
minX = x1
end if
if y1 > y2 then
maxY = y1
minY = y2
else
minY = y2
maxY = y1
end if
Теперь, к сожалению, я не могу сделать это просто в VB.NET. У меня складывается впечатление, что мне нужно создать группу подпрограмм / классов и использовать события, чтобы выполнить это правильно, но я не знаю, с чего начать. Может кто-нибудь мне помочь? Имейте в виду, что я должен быть в состоянии сделать это где-нибудь в интерфейсе карты (то есть не в форме / картинке и т. Д.). Я использую Visual Studio 2012.
Спасибо
-L
1 ответ
Если вы используете arcObjects, попробуйте использовать класс RubberRectagularPolygon, находящийся в интерфейсе IRubberBand:
http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html
У него есть RubberRectangular CoClass, в котором есть функция, которая отслеживает указатель мыши с именем "TrackNew" и создает IGeometry.