IUIAutomationValuePattern
COM公式ドキュメント
範囲を持たず、文字列として表現できる値を含むコントロールへのアクセスを提供します。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
要素の値を設定します。
| val | LPWSTR | in | 設定する値。 |
戻り値
解説(Remarks)
CurrentIsEnabled プロパティが TRUE であり、かつ IUIAutomationValuePattern::CurrentIsReadOnly プロパティが FALSE である必要があります。
要素の値を取得します。
| retVal | LPWSTR* | out | コントロールの現在の値を表す文字列を受け取る文字列ポインタへのポインタである。 |
解説(Remarks)
単一行の編集コントロールは、IUIAutomationValuePattern を通じてその内容へのプログラムによるアクセスをサポートします。ただし、複数行の編集コントロールはこのコントロールパターンをサポートしておらず、その内容は IUIAutomationTextPattern を使用して取得する必要があります。
このプロパティは、書式情報や部分文字列値の取得をサポートしていません。これらのシナリオでも IUIAutomationTextPattern を使用する必要があります。
要素の値が読み取り専用かどうかを示します。
| retVal | BOOL* | out | 値が読み取り専用かどうかを示す論理値を受け取るポインタである。 |
解説(Remarks)
IUIAutomationValuePattern::SetValue が成功するには、このプロパティが TRUE である必要があります。
要素のキャッシュされた値を取得します。
| retVal | LPWSTR* | out | キャッシュされたコントロールの値を表す文字列を受け取る文字列ポインタへのポインタである。 |
解説(Remarks)
単一行の編集コントロールは、IUIAutomationValuePattern を通じてその内容へのプログラムによるアクセスをサポートします。ただし、複数行の編集コントロールはこのコントロールパターンをサポートしておらず、その内容は IUIAutomationTextPattern を使用して取得する必要があります。
このプロパティは、書式情報や部分文字列値の取得をサポートしていません。これらのシナリオでも IUIAutomationTextPattern を使用する必要があります。
要素の値が読み取り専用かどうかを示す、キャッシュされた値を取得します。
| retVal | BOOL* | out | キャッシュされた、値が読み取り専用かどうかを示す論理値を受け取るポインタである。 |
解説(Remarks)
IUIAutomationValuePattern::SetValue が成功するには、このプロパティが TRUE である必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUIAutomationValuePattern "{A94CD8B1-0844-4CD6-9D2D-640537AB39E9}" #usecom global IUIAutomationValuePattern IID_IUIAutomationValuePattern "{}" #comfunc global IUIAutomationValuePattern_SetValue 3 wstr #comfunc global IUIAutomationValuePattern_get_CurrentValue 4 var #comfunc global IUIAutomationValuePattern_get_CurrentIsReadOnly 5 var #comfunc global IUIAutomationValuePattern_get_CachedValue 6 var #comfunc global IUIAutomationValuePattern_get_CachedIsReadOnly 7 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IUIAutomationValuePattern "{A94CD8B1-0844-4CD6-9D2D-640537AB39E9}" #usecom global IUIAutomationValuePattern IID_IUIAutomationValuePattern "{}" #comfunc global IUIAutomationValuePattern_SetValue 3 wstr #comfunc global IUIAutomationValuePattern_get_CurrentValue 4 sptr #comfunc global IUIAutomationValuePattern_get_CurrentIsReadOnly 5 sptr #comfunc global IUIAutomationValuePattern_get_CachedValue 6 sptr #comfunc global IUIAutomationValuePattern_get_CachedIsReadOnly 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。