Вернуть координаты щелчка мышью, вернее, вернуть точку, где был щелчок. и проверить. не содержит ли эту точку какой-либо из полигонов темы. Но пока не пашет даже так, для пробы:
Код: Выделить всё
theView = av.GetProject.FindDoc ("View1")
theGList = theView.GetGraphics
myTheme = theView.FindTheme ("Theme2.shp")
myFTab = myTheme.GetFTab
myField = myFTab.FindField ("Shape")
N = myFTab.GetNumRecords
index=0
aDisplay = av.GetActiveDoc.GetDisplay
twoFTab = FTab.MakeNew("C:\Lin1.shp".AsFileName, Line)
twoTheme = FTheme.Make(twoFTab)
twoField = twoFTab.FindField ("Shape")
fields = List.Make
fields.Add(Field.Make("IDS", #FIELD_SHORT, 4, 0))
twoFTab.AddFields(fields)
R = twoFTab.GetNumRecords
j=0
M = N-1
aPoint = aDisplay.ReturnUserPoint
aPrj = theView.GetProjection
if (aPrj.IsNull.Not) then aPoint = aPoint.ReturnUnprojected(aPrj) end
while (index < M)
Shape1 = myFTab.ReturnValue(myField,index)
if (Shape1.Contains(aPoint))
then
msgbox.info("Входит","")
end
index = index+1
end