ArcObjects Library Reference (Controls)  

IMapControl2.DrawShape Method

Draws a geometry shape on the MapControl.

ERROR: Syntax information about IMapControl2.DrawShape may not be in D:\ArcGIS\DotNet\ESRI.ArcGIS.Controls.dll

[C++]
HRESULT DrawShape(
  IGeometry* Shape,
  VARIANT* symbol
);
[C++]

Parameters

Shape [in]

  Shape is a parameter of type IGeometry

symbol [optional]   symbol is a parameter of type VARIANT

  To indicate this parameter is undefined pass a reference to a VARIANT with type VT_ERROR and scode value of DISP_E_PARAMNOTFOUND.

Product Availability

Available with ArcGIS Engine.

Description

DrawShape draws the supplied geometry onto the display. Use the DrawShape method within the esriViewForeground phase of the IMapControlEvents2::OnAfterDraw event.

Errors Returned

1025 800a0401: The specified symbol does not indicate the correct type of object

1030 800a0406: The supplied geometry does not have a geometry type that is supported for drawing 

Remarks

Geometry objects implementing IEnvelope, IMultiPatch, IMultiPoint, IPoint, IPolygon and IPolyline are supported. 

[C#]
private void axMapControl1_OnAfterDraw(object sender, ESRI.ArcGIS.MapControl.IMapControlEvents2_OnAfterDrawEvent e)
{
    if (e.viewDrawPhase == (int) esriViewDrawPhase.esriViewForeground)
    {
        //Use DrawShape...
    }
}
[Visual Basic .NET]
Private Sub AxMapControl1_OnAfterDraw(ByVal sender As Object, ByVal e As ESRI.ArcGIS.MapControl.IMapControlEvents2_OnAfterDrawEvent) Handles AxMapControl1.OnAfterDraw
    If e.viewDrawPhase = esriViewDrawPhase.esriViewForeground Then
        'Use DrawShape...
    End If
End Sub

See Also

IMapControl2 Interface | IMapControl2.DrawText Method | IMapControl4.DrawText Method | IMapControl3.DrawText Method | IMapControl3.FlashShape Method | IMapControl4.FlashShape Method | IMapControl2.FlashShape Method

.NET Samples

Geoevents in a MapControl (Code Files: GeoEvents)