AutomationElement.GetClickablePoint メソッド

定義

AutomationElement のクリック可能なポイントを取得します。Retrieves a point on the AutomationElement that can be clicked.

public:
 System::Windows::Point GetClickablePoint();
public System.Windows.Point GetClickablePoint ();
member this.GetClickablePoint : unit -> System.Windows.Point
Public Function GetClickablePoint () As Point

戻り値

クライアントがこの要素をクリックするために使用できるポイントの物理的な画面座標。The physical screen coordinates of a point that can be used by a client to click on this element.

例外

クリック可能なポイントはありません。There is no clickable point.

AutomationElement の UI はなくなりました。The UI for the AutomationElement no longer exists.

次のコードでは、コントロールのクリック可能なポイントを取得し、そのポイントにシステムカーソルを移動します。The following code retrieves a clickable point for a control and moves the system cursor to that point.

// element is an AutomationElement.
System.Windows.Point clickablePoint = element.GetClickablePoint();
System.Windows.Forms.Cursor.Position = 
    new System.Drawing.Point((int)clickablePoint.X, (int)clickablePoint.Y);
' element is an AutomationElement.
Dim clickablePoint As System.Windows.Point = element.GetClickablePoint()
System.Windows.Forms.Cursor.Position = New System.Drawing.Point(CInt(clickablePoint.X), CInt(clickablePoint.Y))

注釈

AutomationElement 、別のウィンドウによって完全に隠されている場合はクリックできません。An AutomationElement is not clickable if it is completely obscured by another window.

AutomationElementのすべての条件を満たす場合、がクリック可能になります。An AutomationElement is clickable when it satisfies all the following conditions:

  • プログラムによって表示され、 UI オートメーションUI Automationツリーで使用できます。It is programmatically visible and available with the UI オートメーションUI Automation tree.

  • 親コンテナー内のビューに完全にスクロールされます (存在する場合)。It is scrolled fully into view within its parent container, if any. 要素がクリップされている場合、その要素がクリック可能であることは保証されません。If the element is clipped, there is no guarantee that it is clickable.

  • 要素は、他の UI 要素によって隠されていません。The element is not obscured by any other UI element. 要素が先祖以外の一部の UI 要素によって部分的に隠されている場合は、クリックできない可能性があります。If the element is partially obscured by some UI element other than its ancestors, it might not be clickable.

  • 要素が含まれているウィンドウ自体をクリック可能にする必要があります。The window containing the element must itself be clickable. たとえば、ウィンドウが完全に透明になっている場合は、ウィンドウをクリックできません。For example, the window is not clickable if the containing window is completely transparent. マウスをクリックすると下のウィンドウが表示されるので、透明ウィンドウ内のコントロールはクリック可能なポイントを返しません。Mouse clicks will click through to the window underneath, so any controls within the transparent window will not return clickable points.

  • 要素がコンテナー (リストビューやツリービューなど) の場合は、クリックするとコントロールの背景がフォーカスされる点が必要です。If the element is a container (such as list or tree view), it must have a point that when clicked will cause the background of the control to be focused. コンテナーコントロールのすべての部分が子要素によって占有されている場合は、クリックできません。If every part of the container control is occupied by a child element, it is not clickable.

UI オートメーションプロバイダーによってクリック可能として定義されているポイントをクリックしたときに、コントロールが何も実行しないという保証はありません。There is no guarantee that a control will do anything when clicked on a point defined as clickable by the UI Automation provider. コントロールに対してアクションを実行する代わりに、コントロールパターンを使用することを検討してください。Consider using control patterns instead to perform actions on controls.

適用対象

こちらもご覧ください