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
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