エディット コントロール (MSAA UI 要素リファレンス)
Note
このトピックでは、MSAA UI 要素リファレンスの目的でコントロール オブジェクトを 編集 する方法について説明します。 さまざまな UI フレームワークで Edit Control オブジェクトを作成する方法については、ここでは説明しません。 使用している UI フレームワークの API リファレンス ドキュメントを参照してください。
編集コントロールを使用すると、ユーザーはテキストを表示および編集できます。 編集コントロールは、ES_MULTILINEなど、さまざまなスタイルで作成されます。 このスタイルでは、メモ帳のクライアント領域やES_READONLYなど、複数行の編集コントロールが作成され、読み取り専用の編集コントロールが作成されます。
Microsoft Active Accessibility では、ウィンドウ クラス名 "EDIT" で作成された編集コントロールと、ウィンドウ クラス名 "RichEdit" または "RichEdit20A" で作成されたリッチエディット コントロールは区別されません。
IAccessible メソッド
編集コントロールでは、次の IAccessible メソッドがサポートされています。
IAccessible プロパティ
編集コントロールでは、次の IAccessible プロパティが サポートされています。
プロパティ | 説明 |
---|---|
get_accChild | |
get_accChildCount | |
get_accDescription | |
get_accFocus | |
get_accKeyboardShortcut | KeyboardShortcut プロパティは、編集コントロールのアクセス キーです。これは、編集コントロールのラベルのテキストの下線付き文字です。 たとえば、WordPad などの標準の [ファイルを開く] ダイアログ ボックスでは、"Filename:" というラベルの編集コントロールの KeyboardShortcut は "Alt + n" です。 |
get_accName | Name プロパティは、編集コントロールにラベルを付ける静的テキスト コントロールのテキストです。 たとえば、WordPad などの標準の [ファイルを開く] ダイアログ ボックスでは、編集コントロールの Name プロパティは "ファイル名:" です。 |
get_accParent | Parent プロパティは、コントロールを囲み、コントロールと同じ Name プロパティとウィンドウ クラス名を持つウィンドウ ( ROLE_SYSTEM_WINDOW ) です。 |
get_accRole | Role プロパティがROLE_SYSTEM_TEXT。 |
get_accSelection | |
get_accState |
State プロパティは、次の値の 1 つ以上の組み合わせです:STATE_SYSTEM_INVISIBLE STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_FOCUSED | STATE_SYSTEM_READONLY | STATE_SYSTEM_PROTECTED | STATE_SYSTEM_NORMAL | |
get_accValue | Value プロパティは、編集コントロールのテキストを含む 1 つの文字列です。 ただし、コントロールがパスワードで保護されている場合、 Value プロパティはE_ACCESSDENIEDを返します。 複数行の編集コントロールの場合、文字列には復帰と改行文字が各行の末尾に含まれます。 |
Notes
Microsoft Active Accessibility では、編集コントロールとリッチ エディット コントロールに含まれるテキストの選択はサポートされていません。これは、テキストがオブジェクトの Value プロパティの文字列として公開されるためです。
Riched20.dllによって提供されるリッチ エディット コントロール (Windows 98 のワードパッドなどのテキスト エディターで使用されます) では、テキストの選択中にキャレットの位置が変更されたときに WinEvent は送信されません。 ユーザーが Shift キーと方向キーを押してテキストを選択しても、キャレット オブジェクトは WinEvent EVENT_OBJECT_LOCATIONCHANGE をトリガーしません。 リッチ エディット メッセージを使用してプログラムで選択を設定した場合、キャレット オブジェクトは新しい位置を示すイベントを送信しません。
Riched20.dllを使用するすべてのアプリケーションで、この問題が発生します。 以前のバージョンのリッチエディット コントロールを使用しているアプリケーションは、選択に基づいてイベントを正しく送信します。
パスワード編集コントロールの State 値には、常にビット フラグ STATE_SYSTEM_PROTECTEDが含まれます。