パラメータ
hWnd
ウィンドウのハンドルを指定する。
hWndInsertAfter
Z オーダーを決めるためのウィンドウハンドルを指定する。
hWnd で指定したウインドウは、このパラメータで指定したウィンドウの後ろに置かれる。
このパラメータには、次のいずれかの値を指定することもできる。
値
|
意味
|
HWND_BOTTOM
|
ウィンドウを Z オーダーの最後に置きる。hWnd パラメータで指定したウィンドウが最前面ウィンドウだった場合、
このウィンドウは最前面ウィンドウではなくなり、ほかのすべてのウィンドウの下に置かれる。
|
HWND_NOTOPMOST
|
ウィンドウを最前面ウィンドウ以外のすべてのウィンドウの前( つまり、すべての最前面ウィンドウの後ろ)に挿
入する。hWnd パラメータで指定したウィンドウが既に最前面ウィンドウではなかった場合、このフラグは意味を
持たない。
|
HWND_TOP |
ウィンドウを Z オーダーの先頭に置く。 |
HWND_TOPMOST |
ウィンドウを最前面ウィンドウではないすべてのウィンドウの前に挿入する。このウィンドウは、アクティブでないとき
にも最前面に表示される。
|
X
ウィンドウの左上端の新しい x 座標をクライアント座標で指定する。
Y
ウィンドウの左上端の新しい y 座標をクライアント座標で指定する。
cx
ウィンドウの新しい幅をピクセル単位で指定する。
cy
ウィンドウの新しい高さをピクセル単位で指定する。
uFlags
ウィンドウのサイズと位置の変更に関するフラグを指定する。次の値を組み合わせて指定できる。
値
|
意味
|
SWP_ASYNCWINDOWPOS |
この関数を呼び出したスレッドとウィンドウを所有するスレッドが異なる入力キューに関連付けられている
場合、ウィンドウを所有するスレッドへ要求が送られる。こうすると、要求を受け取ったスレッドが要求を
処理している間も、関数を呼び出したスレッドの実行が止まってしまうことはない。
|
SWP_DEFERERASE WM_SYNCPAINT |
メッセージが生成されないようにする。 |
SWP_DRAWFRAME |
ウィンドウを囲む枠( ウィンドウクラスの記述部分で定義されている)を描画する。 |
SWP_FRAMECHANGED |
SetWindowLong 関数を使って新しいフレームスタイルの設定を適用する。
ウィンドウサイズが変更されない場合にも、ウィンドウに WM_NCCALCSIZE メッセージを送る。このフラ
グを指定しなかった場合、ウィンドウサイズが変更される場合にしか WM_NCCALCSIZE メッセージは
送られない。
|
SWP_HIDEWINDOW |
ウィンドウを非表示にする。 |
SWP_NOACTIVATE |
ウィンドウをアクティブ化しない。このフラグをセットしなかった場合、ウィンドウはアクティブ化され、最前
面ウィンドウまたは非最前面ウィンドウのどちらか(hWndInsertAfter パラメータの設定による)のグル
ープの最上位に移動する。
|
SWP_NOCOPYBITS |
クライアント領域の内容全体を破棄する。このフラグをセットしなかった場合は、クライアント領域の有効
な内容が保存され、再配置後のウィンドウのクライアント領域にコピーし直される。
|
SWP_NOMOVE |
現在の位置を維持する(X パラメータと Y パラメータを無視する)。 |
SWP_NOOWNERZORDER |
オーナーウィンドウの Z オーダーを変更しない。 |
SWP_NOREDRAW |
変更結果を再描画しない。このフラグを指定すると、再描画は一切行われない。このフラグは、クライア
ント領域、非クライアント領域( タイトルバーおよびスクロールバーを含む)、および親ウィンドウの、こ
のウィンドウが移動した結果現れた部分のすべてに適用される。このフラグをセットした場合、ウィンドウ
や親ウィンドウの再描画の必要な部分は、アプリケーションで明示的に無効化または再描画しなければ
ならない。 |
SWP_NOREPOSITION |
SWP_NOOWNERZORDER フラグと同じである。 |
SWP_NOSENDCHANGING |
ウィンドウに WM_WINDOWPOSCHANGING メッセージが送られないようにする。 |
SWP_NOSIZE |
現在のサイズを維持する(cx パラメータと cy パラメータを無視する)。 |
SWP_NOZORDER |
現在の Z オーダーを維持する(hWndInsertAfter パラメータを無視する)。 |
SWP_SHOWWINDOW |
ウィンドウを表示する。 |
戻り値
関数が成功すると、0 以外の値が返る。
関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。 |