Как записать щелчок мышью и освободить координаты в 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.

Другие вопросы по тегам