指定されたウィンドウのスタイル、拡張スタイルをそれぞれ変更します。
WinSetStyle Value , WinTitle, WinText, ExcludeTitle, ExcludeText WinSetExStyle Value , WinTitle, WinText, ExcludeTitle, ExcludeText
正の整数を渡すと、ウィンドウのスタイルを完全に上書きする、つまり、Valueに設定します。
スタイルの追加、削除、切り替えを簡単に行うには、プラス記号(+)、マイナス記号(-)、キャレット(^)をそれぞれ先頭に持つ数値列を渡します。The new style value is calculated as shown below (where CurrentStyle could be retrieved with WinGetStyle or WinGetExStyle):
Operation | Prefix | 例 | Formula |
---|---|---|---|
Add | + | "+0x80" |
NewStyle := CurrentStyle | Value |
Remove | - | "-0x80" |
NewStyle := CurrentStyle & ~Value |
Toggle | ^ | "^0x80" |
NewStyle := CurrentStyle ^ Value |
Valueが負の整数の場合、対応する数値文字列と同じように扱われます。
+ または - プレフィックスを文字どおり式で使用するには、プレフィックスまたは値を引用符で囲む必要があります。事例:WinSetStyle("+0x80")
or WinSetStyle("^" StylesToToggle)
. という表現があるからです。 +123
は123(接頭辞なし)を生成し、^123
はシンタックスエラーとなります。
もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleに ウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。
ExcludeTitleとExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleとWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。
ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。
ウィンドウが見つからないときは、TargetErrorがスローされます。
変更が適用できなかったときはOSErrorがスローされます。
スタイルの一部については、スタイル表をご覧ください。
特定のスタイル変更を可視ウィンドウに適用した後、WinRedrawを使用してウィンドウを再描画する必要がある場合があります。
マウスカーソルの下にあるウィンドウのIDは、MouseGetPos関数で取得できます。
WinGetStyle / WinGetExStyle, ControlSetStyle / ControlSetExStyle, styles table, Win functions, Control functions