本ページには広告が含まれています。
座標位置の文字情報を取得します。
- 構文
- UString = POSACC( ID, クライアント座標X, クライアント座標Y, モード )
- 引数
- ID (Integer)必須
- Windowを識別するID (スクリーン全体の場合は 0)
- 座標 (Integer)必須
- クライアント座標 (ID= 0 の場合はスクリーン座標)
- モード (#posacc = 0)省略可
- 0
- (デフォルト) ACC_ACCの実行、取得ができなければACC_API を実行
- ACC_ACC
- 表示文字の取得 (アクセシビリティ経由)
- ACC_API
- DrawText, TextOutなどのAPIをトラップ(64bitアプリNG)
- ACC_NAME
- 名前(アクセシビリティ経由)
- ACC_VALUE
- 値(アクセシビリティ経由)
- ACC_ROLE
- 役割(アクセシビリティ経由)
- ACC_STATE
- 状態(アクセシビリティ経由)
- ACC_DESCRIPTION
- 説明(アクセシビリティ経由)
- ACC_LOCATION
- X,Y,幅,高さ(アクセシビリティ経由)
- ACC_BACK
- ウィンドウをアクティブ化しない (他モードに付加して使用)
- 戻り値
- 取得した文字(情報)
クライアント座標
クライアント座標とはアプリケーションの左上を基準とした座標で、下図の緑色の矢印の始点となる座標のことです。
下図の破線の交点にあるカーソル位置のクライアント座標は、特殊変数であるG_MOUSE_*のスクリーン座標(紫色の矢印)とSTATUS関数でカーソル下にあるウィンドウのクライアント領域の座標(赤色の矢印)を使って求めることができます。
まずX成分だけに注目してみると、赤色矢印と緑色矢印の和が紫色矢印に等しいことから以下の式が成り立ちます。
求めたいのはクライアント座標であるcxなので、この方程式をcxについて解くと以下のようになります。
次にY成分について見ると、X成分と同じように以下の式が導き出されます。
cxのときと同様、cyについて解くと以下のようになります。
IDはカーソル下のウィンドウなのでGETID関数で引数にGET_FROMPOINT_WINを指定して取得できます。これらをまとめると以下のプログラムのようになり、これでカーソル位置についてのクライアント領域のX座標、Y座標を求めることができます。このcxとcyをPOSACC関数の第二引数・第三引数に指定します。
使い方
カーソル下のウィンドウの文字情報を取得します。
プログラム実行例
マウスカーソル下の文字情報を取得
使用関数
公開日:
更新日:
関連記事
- CPUUSERATE関数 (スクリプト関数)
- CPU使用率を取得します。
- GETDIR関数 (スクリプト関数)
- ファイル名を取得します。
- GETFORMDATA関数 (スクリプト関数)
- フォームより値を取得。
- FSO.GetFolder メソッド
- 指定したパスのFolder オブジェクトを返します。
- File.Type プロパティ (FSO)
- 指定したファイルの種類を返します。
- small関数 (自作関数)
- 配列の中で小さい方から数えた順位の値を求めます。
- Document.getElementsByClassName メソッド (DOM)
- 引数で与えられたクラス名を持つ要素のリストを返します。
