Previous Document Next Document
Shape.IsOnShape

Function IsOnShape(x As Double, y As Double, [HotArea As Double = -1]) As cdrPositionOfPointOverShape

Member of Shape

The IsOnShape method determines whether the given point lies inside a shape or on its outline.

This method returns cdrPositionOfPointOverShape.

Parameters
Description
x
Sets the horizontal position for a point in the active document
y
Sets the vertical position for a point in the active document
HotArea
Defines a tolerance radius in which to evaluate the presence of the shape
This parameter is optional, and its default value is -1.

The following code example allows the user to click anywhere in the document and inspect whether any shape’s outline or fill area was clicked. If so, the color of outline or fill is changed to yellow. This script runs until Esc is pressed.

Sub Test() 
 Dim s As Shape 
 Dim x As Double, y As Double 
 While ActiveDocument.GetUserClick(x, y, 0, 100, False, 
cdrCursorPickOvertarget) = 0 
  For Each s In ActivePage.Shapes 
   Select Case s.IsOnShape(x, y) 
    Case cdrOnMarginOfShape 
     If s.Outline.Type = cdrOutline Then 
      s.Outline.Color.RGBAssign 255, 255, 0 
      Exit For 
     End If 
    Case cdrInsideShape 
     s.Fill.UniformColor.RGBAssign 255, 255, 0 
     Exit For 
   End Select 
  Next s 
 Wend 
End Sub 

Previous Document Next Document Back to Top

Copyright 2007 Corel Corporation. All rights reserved.