ShapeElement::DoHitTest Method (PointD, DiagramHitTestInfo^, Boolean)
Visual Studio 2015
Returns true if the specified point is within the shape.
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
public: virtual bool DoHitTest( PointD point, DiagramHitTestInfo^ hitTestInfo, bool includeTolerance )
Parameters
- point
-
Type:
Microsoft.VisualStudio.Modeling.Diagrams::PointD
A point on the diagram, relative to the parent shape.
- hitTestInfo
-
Type:
Microsoft.VisualStudio.Modeling.Diagrams::DiagramHitTestInfo^
The object that will receive the results of the hit test, showing which child shape or field was hit.
- includeTolerance
-
Type:
System::Boolean
true to include the boundary area around the shape when the hit test is performed; otherwise, false.
If the method returns true, the hitTestInfo indicates the DiagramItem that was actually hit, which might be a child of the shape.
Instead of calling this directly from a command, consider overriding OnClick() or OnDoubleClick(), in which the HitTestInfo is included in the event argument.
public override global::System.Windows.Forms.Cursor GetCursor(global::System.Windows.Forms.Cursor currentCursor, DslDiagrams::DiagramClientView diagramClientView, DslDiagrams::PointD mousePosition) { if (this.MouseDownHitShape == null && currentCursor != global::System.Windows.Forms.Cursors.No) { DslDiagrams::DiagramHitTestInfo hitTestInfo = new DslDiagrams::DiagramHitTestInfo(diagramClientView); this.Diagram.DoHitTest(mousePosition, hitTestInfo); DslDiagrams::ShapeElement shape = hitTestInfo.HitDiagramItem.Shape; } return base.GetCursor(currentCursor, diagramClientView, mousePosition); }
Show: