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