ControlSetStyle / ControlSetExStyle

指定されたコントロールのスタイルまたは拡張スタイルをそれぞれ変更します。

ControlSetStyle Value, Control , WinTitle, WinText, ExcludeTitle, ExcludeText
ControlSetExStyle Value, Control , WinTitle, WinText, ExcludeTitle, ExcludeText

パラメータ

型:整数または文字列

正の整数を渡すと、ウィンドウのスタイルを完全に上書きする、つまり、Valueに設定します。

スタイルの追加、削除、切り替えを簡単に行うには、プラス記号(+)、マイナス記号(-)、キャレット(^)をそれぞれ先頭に持つ数値列を渡します。新しいスタイル値は次のように計算されます(CurrentStyleControlGetStyle/ControlGetExStyleまたはWinGetStyle/WinGetExStyleで取得することができます)。

Operation Prefix Formula
Add + "+0x80" NewStyle := CurrentStyle | Value
Remove - "-0x80" NewStyle := CurrentStyle & ~Value
Toggle ^ "^0x80" NewStyle := CurrentStyle ^ Value

Valueが負の整数の場合、対応する数値文字列と同じように扱われます。

+ または - プレフィックスを文字どおり式で使用するには、プレフィックスまたは値を引用符で囲む必要があります。事例:ControlSetStyle("+0x80") or ControlSetStyle("^" StylesToToggle). という表現があるからです。 +123は123(接頭辞なし)を生成し、^123はシンタックスエラーとなります。

Control

型:文字列整数またはオブジェクト

コントロールのClassNN、text、HWND、またはHwndプロパティを持つオブジェクトを指します。詳しくは、「制御パラメータ」をご覧ください。

WinTitle、WinText、ExcludeTitle、ExcludeText

型:文字列整数またはオブジェクト

もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。

ExcludeTitleExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。

ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。

エラー処理

ウィンドウまたはコントロールが見つからないときは、TargetErrorがスローされます。

スタイルを変更できなかった場合、OSErrorがスローされます。部分的な変更は成功とします。

備考

スタイルの一部については、スタイル表をご覧ください。

特定のスタイル変更には、WinRedrawを使用してウィンドウ全体を再描画する必要があります。

ControlGetStyle / ControlGetExStyle, WinSetStyle / WinSetExStyle, styles table, Control functions

メモ帳の編集コントロールの WS_BORDER スタイルを反対の状態に設定します。

ControlSetStyle("^0x800000", "Edit1", "ahk_class Notepad")