プログラマメモ
SetWindowPos
最終更新:
Bot(ページ名リンク)
-
view
SetWindowPos
指定したウィンドウの位置、サイズ、および表示状態設定API
構文
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _ ByVal hWnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long _ ) As Long
引数
hWnd | 設定対象のウィンドウのハンドル |
hWndInsertAfter | 指定したウィンドウの Z 順位に関する情報(省略する場合は、NULL を指定) |
X | ウィンドウ左上隅の X 座標を指定します。トップレベルウィンドウはスクリーン座標で、子ウィンドウはクライアント座標で指定します。 |
Y | ウィンドウ左上隅の Y 座標を指定します。トップレベルウィンドウはスクリーン座標で、子ウィンドウはクライアント座標で指定します。 |
cx | ウィンドウの幅を指定します。 |
cy | ウィンドウの高さを指定します。 |
uFlags | ウィンドウの位置、サイズ、表示状態変更に関するフラグを、以下の定数を組み合わせて指定します。 |
戻り値
正常終了 | TRUE |
異常終了 | FALSE |
hWndInsertAfterの定数
Public Const HWND_[[TOP]] = 0 'Zオーダーのトップに置く Public Const HWND_BOTTOM = 1 'ウィンドウ表示リストの最後に置く Public Const HWND_TOPMOST = -1 'ウィンドウ表示リストのトップに置く。 '非アクティブになっても常にトップ位置を保持する Public Const HWND_NOTTOPMOST = -2 'トップ指定されたウィンドウの直後に置く
uFlagの定数
Public Const SWP_ASYNCWINDOWPOS = &H4000 'この関数を呼び出したスレッドがウィンドウを持たないとき、 'ウィンドウを持つスレッドにメッセージを送る Public Const SWP_DEFERERASE = &H2000 'WM_SYNCPAINTを発生させない Public Const SWP_DRAWFRAME = &H20 '再描画のとき、ウィンドウを囲む枠を描画 Public Const SWP_FRAMECHANGED = &H20 'ウィンドウのサイズ変更中でなくてもWM_NCCALCSIZEを送る Public Const SWP_HIDEWINDOW = &H80 '再描画のとき、ウィンドウを非表示にする Public Const SWP_NOACTIVATE = &H10 'ウィンドウをアクティブにしない(このフラッグを指定しないとき、 '自動的にアクティブになる) Public Const SWP_NOCOPYBITS = &H100 'クライアント領域の内容をクリアする(このフラッグを指定しないとき、 '元のクライアント領域を保存し再描画する) Public Const SWP_NOMOVE = &H2 'サイズだけ変える(xとyを無視) Public Const SWP_NOOWNERZODER = &H200 'オーダーウィンドウのZオーダーは変更しない Public Const SWP_NOREDRAW = &H8 '自動的に再描画しない Public Const SWP_NOREPOSITION = &H200 'SWP_NOOWNERZORDERと同じ Public Const SWP_NOSENDCHANGING = &H400 'WM_WINDOWPOSCHANGINGを送らない Public Const SWP_NOSIZE = &H1 'ウィンドウサイズを変えないで移動のみ(cxとcyの設定を無視する) Public Const SWP_NOZORDER = &H4 '現在のZオーダーを維持(hWndInsertAfterを無視) Public Const SWP_SHOWWINDOW = &H40 '再描画のとき、ウィンドウを表示