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

相关文章:

  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
  • 2021-06-12
  • 2022-12-23
  • 2021-09-03
  • 2021-07-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2021-04-13
  • 2021-06-30
  • 2021-09-28
相关资源
相似解决方案