プログラマメモ SetWindowPos

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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          '再描画のとき、ウィンドウを表示