量算面积,vb代码

Public Function DrawPolygon() As IPolygon

Dim pActiveview As IActiveView

Dim pSimpleFillS As ISimpleFillSymbol

Dim pRgbColor As IRgbColor

Dim pRubberBand As IRubberBand

Dim pPolygon As IPolygon

On Error GoTo ErrorHandler:

Set pActiveview = FrmMain.MapControl1.ActiveView

Set pSimpleFillS = New SimpleFillSymbol

Set pRgbColor = New RgbColor

pRgbColor.Red = 255

pSimpleFillS.Color = pRgbColor

Set pRubberBand = New RubberPolygon

Set pPolygon = pRubberBand.TrackNew(pActiveview.ScreenDisplay, pSimpleFillS)

With pActiveview.ScreenDisplay

.StartDrawing pActiveview.ScreenDisplay.hdc, esriNoScreenCache

.SetSymbol pSimpleFillS

.DrawPolygon pPolygon

.FinishDrawing

End With

Set DrawPolygon = pPolygon

Exit Function

ErrorHandler:

MsgBox Err.Desciption

End Function

Public Function MeasurePolygon(pPolygon As IPolygon) As Double

Dim pArea As IArea

On Error GoTo ErrorHandler:

Set pArea = pPolygon

MeasurePolygon = Abs(pArea.Area())

Exit Function

ErrorHandler:

MsgBox Err.Desciption

End Function