WINDOW LIST
WINDOW LIST ( windows {; *} )
引数 | 型 | 説明 | |
---|---|---|---|
windows | Array | ← | ウィンドウ参照番号の配列 |
* | 演算子 | → | 指定時, フローティングウィンドウも含める 省略時, フローティングウィンドウを含めない |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
WINDOW LIST コマンドは配列 windows を生成し、実行中のすべての (カーネルおよびユーザ) プロセスで開かれているウィンドウの参照番号を返します。"可視状態"のウィンドウ(非表示になっていないウィンドウ)のみが返されます。
オプションの * 引数を渡さない場合、フローティングウィンドウは含められません。
例題
以下のプロジェクトメソッドは、(フローティングとダイアリグボックスを除く) すべての開かれているウィンドウをタイル表示します:
// TILE WINDOWS project method
WINDOW LIST($alWnd)
$vlLeft:=10
$vlTop:=80 // ツールバーのスペースを確保
For($vlWnd;1;Size of array($alWnd))
If(Window kind($alWnd{$vlWnd})#Modal dialog)
GET WINDOW RECT($vlWL;$vlWT;$vlWR;$vlWB;$alWnd{$vlWnd})
$vlWR:=$vlLeft+($vlWR-$vlWL)
$vlWB:=$vlTop+($vlWB-$vlWT)
$vlWL:=$vlLeft
$vlWT:=$vlTop
SET WINDOW RECT($vlWL;$vlWT;$vlWR;$vlWB;$alWnd{$vlWnd})
$vlLeft:=$vlLeft+10
$vlTop:=$vlTop+25
End if
End for
Note: このメソッドにメインウィンドウ (Windows) やスクリーン (Mac OS) のテストを組み込むとより洗練されたものとなります。