AccessibleObject.Bounds プロパティ
ユーザー補助オブジェクトの位置とサイズを取得します。
Public Overridable ReadOnly Property Bounds As Rectangle
[C#]
public virtual Rectangle Bounds {get;}
[C++]
public: __property virtual Rectangle get_Bounds();
[JScript]
public function get Bounds() : Rectangle;
プロパティ値
ユーザー補助オブジェクトの境界を表す Rectangle 。
例外
例外の種類 | 条件 |
---|---|
COMException | コントロールの境界を取得できません。 |
解説
Bounds プロパティは、オブジェクトの境界を表す四角形を画面座標で取得します。オブジェクトの形が四角形以外の場合、このプロパティは、オブジェクト領域全体が完全に収まる最小の四角形を表します。このため、リスト ビュー項目など、四角形以外のオブジェクトでは、 HitTest メソッドを呼び出してテストをしたときに、オブジェクトの境界を表す四角形の座標がヒットしないことがあります。これは、 HitTest では、ピクセルに基づいてオブジェクトの境界が判断されるためです。
継承時の注意: オブジェクトがシステム コントロールをラップしている場合、既定の実装はユーザー補助オブジェクトの外接する四角形を返します。これ以外の場合は、 Rectangle.Empty を返します。表示可能なユーザー補助オブジェクトはすべて、このメソッドをサポートする必要があります。サウンド オブジェクトは、このメソッドをサポートしません。
使用例
[Visual Basic, C#, C++] ユーザー補助情報を公開する AccessibleObject クラスおよび Control.ControlAccessibleObject クラスを使用して、ユーザー補助対応のチャート コントロールを作成する方法の例を次に示します。コントロールは、凡例に沿って 2 つの曲線をプロットします。 ControlAccessibleObject から派生された ChartControlAccessibleObject
クラスは、チャート コントロールの独自のユーザー補助情報を提供することを目的として、 CreateAccessibilityInstance メソッドで使用します。チャートの凡例は実際の Control ベースのコントロールではなく、チャート コントロールによって描画されるため、組み込みのユーザー補助情報は含まれていません。このため、 ChartControlAccessibleObject
クラスは、 GetChild メソッドをオーバーライドして、凡例の各部分のユーザー補助情報を表す CurveLegendAccessibleObject
を返します。ユーザー補助対応のアプリケーションでこのコントロールが使用された場合、このコントロールは必要なユーザー補助情報を提供できます。
[Visual Basic, C#, C++] Bounds プロパティをオーバーライドする例を次に示します。コード例全体については、 AccessibleObject クラスの概要を参照してください。
' Inner class CurveLegendAccessibleObject represents accessible information
' associated with the CurveLegend object.
Public Class CurveLegendAccessibleObject
Inherits AccessibleObject
Private curveLegend As CurveLegend
Public Sub New(curveLegend As CurveLegend)
Me.curveLegend = curveLegend
End Sub 'New
' Private property that helps get the reference to the parent ChartControl.
Private ReadOnly Property ChartControl() As ChartControlAccessibleObject
Get
Return CType(Parent, ChartControlAccessibleObject)
End Get
End Property
' Friend helper function that returns the ID for this CurveLegend.
Friend ReadOnly Property ID() As Integer
Get
Dim i As Integer
For i = 0 To (ChartControl.GetChildCount()) - 1
If ChartControl.GetChild(i) Is Me Then
Return i
End If
Next i
Return - 1
End Get
End Property
' Gets the Bounds for the CurveLegend. This is used by accessibility programs.
Public Overrides ReadOnly Property Bounds() As Rectangle
Get
' The bounds is in screen coordinates.
Dim loc As Point = curveLegend.Location
Return New Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size)
End Get
End Property
' Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
Public Overrides Property Name() As String
Get
Return curveLegend.Name
End Get
Set
curveLegend.Name = value
End Set
End Property
' Gets the Curve Legend Parent's Accessible object.
' This is used by accessibility programs.
Public Overrides ReadOnly Property Parent() As AccessibleObject
Get
Return curveLegend.chart.AccessibilityObject
End Get
End Property
' Gets the role for the CurveLegend. This is used by accessibility programs.
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
Return System.Windows.Forms.AccessibleRole.StaticText
End Get
End Property
' Gets the state based on the selection for the CurveLegend.
' This is used by accessibility programs.
Public Overrides ReadOnly Property State() As AccessibleStates
Get
Dim stateTemp As AccessibleStates = AccessibleStates.Selectable
If curveLegend.Selected Then
stateTemp = stateTemp Or AccessibleStates.Selected
End If
Return stateTemp
End Get
End Property
' Navigates through siblings of this CurveLegend. This is used by accessibility programs.
Public Overrides Function Navigate(navdir As AccessibleNavigation) As AccessibleObject
' Use the Friend NavigateFromChild helper function that exists
' on ChartControlAccessibleObject.
Return ChartControl.NavigateFromChild(Me, navdir)
End Function
' Selects or unselects this CurveLegend. This is used by accessibility programs.
Public Overrides Sub [Select](selection As AccessibleSelection)
' Use the internal SelectChild helper function that exists
' on ChartControlAccessibleObject.
ChartControl.SelectChild(Me, selection)
End Sub
End Class 'CurveLegendAccessibleObject
[C#]
// Inner class CurveLegendAccessibleObject represents accessible information
// associated with the CurveLegend object.
public class CurveLegendAccessibleObject : AccessibleObject
{
private CurveLegend curveLegend;
public CurveLegendAccessibleObject(CurveLegend curveLegend) : base()
{
this.curveLegend = curveLegend;
}
// Private property that helps get the reference to the parent ChartControl.
private ChartControlAccessibleObject ChartControl
{
get {
return Parent as ChartControlAccessibleObject;
}
}
// Internal helper function that returns the ID for this CurveLegend.
internal int ID
{
get {
for(int i = 0; i < ChartControl.GetChildCount(); i++) {
if (ChartControl.GetChild(i) == this) {
return i;
}
}
return -1;
}
}
// Gets the Bounds for the CurveLegend. This is used by accessibility programs.
public override Rectangle Bounds
{
get {
// The bounds is in screen coordinates.
Point loc = curveLegend.Location;
return new Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size);
}
}
// Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
public override string Name
{
get {
return curveLegend.Name;
}
set {
curveLegend.Name = value;
}
}
// Gets the Curve Legend Parent's Accessible object.
// This is used by accessibility programs.
public override AccessibleObject Parent
{
get {
return curveLegend.chart.AccessibilityObject;
}
}
// Gets the role for the CurveLegend. This is used by accessibility programs.
public override AccessibleRole Role
{
get {
return AccessibleRole.StaticText;
}
}
// Gets the state based on the selection for the CurveLegend.
// This is used by accessibility programs.
public override AccessibleStates State
{
get {
AccessibleStates state = AccessibleStates.Selectable;
if (curveLegend.Selected)
{
state |= AccessibleStates.Selected;
}
return state;
}
}
// Navigates through siblings of this CurveLegend. This is used by accessibility programs.
public override AccessibleObject Navigate(AccessibleNavigation navdir)
{
// Uses the internal NavigateFromChild helper function that exists
// on ChartControlAccessibleObject.
return ChartControl.NavigateFromChild(this, navdir);
}
// Selects or unselects this CurveLegend. This is used by accessibility programs.
public override void Select(AccessibleSelection selection)
{
// Uses the internal SelectChild helper function that exists
// on ChartControlAccessibleObject.
ChartControl.SelectChild(this, selection);
}
}
[C++]
// Inner class CurveLegendAccessibleObject represents accessible information
// associated with the CurveLegend object.
public:
__gc class CurveLegendAccessibleObject : public AccessibleObject {
private:
CurveLegend* curveLegend;
public:
CurveLegendAccessibleObject(CurveLegend* curveLegend) : AccessibleObject() {
this->curveLegend = curveLegend;
}
// Private property that helps get the reference to the parent ChartControl.
private:
__property ChartControlAccessibleObject* get_ChartControl() {
return dynamic_cast<ChartControlAccessibleObject*>(Parent);
}
// Internal helper function that returns the ID for this CurveLegend.
public private:
__property int get_ID() {
for (int i = 0; i < ChartControl->GetChildCount(); i++) {
if (ChartControl->GetChild(i) == this) {
return i;
}
}
return -1;
}
// Gets the Bounds for the CurveLegend. This is used by accessibility programs.
public:
__property Rectangle get_Bounds() {
// The bounds is in screen coordinates.
Point loc = curveLegend->Location;
return Rectangle(curveLegend->chart->PointToScreen(loc), curveLegend->Size);
}
// Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
__property String* get_Name() {
return curveLegend->Name;
}
__property void set_Name(String* value) {
curveLegend->Name = value;
}
// Gets the Curve Legend Parent's Accessible object.
// This is used by accessibility programs.
__property AccessibleObject* get_Parent() {
return curveLegend->chart->AccessibilityObject;
}
// Gets the role for the CurveLegend. This is used by accessibility programs.
__property System::Windows::Forms::AccessibleRole get_Role() {
return AccessibleRole::StaticText;
}
// Gets the state based on the selection for the CurveLegend.
// This is used by accessibility programs.
__property AccessibleStates get_State() {
AccessibleStates state = AccessibleStates::Selectable;
if (curveLegend->Selected) {
state = static_cast<AccessibleStates>( state | AccessibleStates::Selected );
}
return state;
}
// Navigates through siblings of this CurveLegend. This is used by accessibility programs.
AccessibleObject* Navigate(AccessibleNavigation navdir) {
// Uses the internal NavigateFromChild helper function that exists
// on ChartControlAccessibleObject.
return ChartControl->NavigateFromChild(this, navdir);
}
// Selects or unselects this CurveLegend. This is used by accessibility programs.
void Select(AccessibleSelection selection) {
// Uses the internal SelectChild helper function that exists
// on ChartControlAccessibleObject.
ChartControl->SelectChild(this, selection);
}
}; // class CurveLgendAccessibleObject
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
AccessibleObject クラス | AccessibleObject メンバ | System.Windows.Forms 名前空間 | DefaultAction | Description | Help | KeyboardShortcut | Name | Parent | Role | State | Value