SetWindowPos

此頁沒有內(nèi)容條目
內(nèi)容

SetWindowPos

VB聲明

Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

說明

這個函數(shù)能為窗口指定一個新位置和狀態(tài)。它也可改變窗口在內(nèi)部窗口列表中的位置。該函數(shù)與DeferWindowPos函數(shù)相似,只是它的作用是立即表現(xiàn)出來的(在vb里使用:針對vb窗體,如它們在win32下屏蔽或最小化,則需重設(shè)最頂部狀態(tài)。如有必要,請用一個子類處理模塊來重設(shè)最頂部狀態(tài)

返回值

Long,非零表示成功,零表示失敗。會設(shè)置GetLastError

參數(shù)表

參數(shù)

類型及說明

hwnd

Long,欲定位的窗口

hWndInsertAfter

Long,窗口句柄。在窗口列表中,窗口hwnd會置于這個窗口句柄的后面。也可能選用下述值之一:

HWND_BOTTOM

將窗口置于窗口列表底部

HWND_TOP

將窗口置于Z序列的頂部;Z序列代表在分級結(jié)構(gòu)中,窗口針對一個給定級別的窗口顯示的順序

HWND_TOPMOST

將窗口置于列表頂部,并位于任何最頂部窗口的前面

HWND_NOTOPMOST

將窗口置于列表頂部,并位于任何最頂部窗口的后面

x

Long,窗口新的x坐標。如hwnd是一個子窗口,則x用父窗口的客戶區(qū)坐標表示

y

Long,窗口新的y坐標。如hwnd是一個子窗口,則y用父窗口的客戶區(qū)坐標表示

cx

Long,指定新的窗口寬度

cy

Long,指定新的窗口高度

wFlags

Long,包含了旗標的一個整數(shù)

SWP_DRAWFRAME

圍繞窗口畫一個框

SWP_HIDEWINDOW

隱藏窗口

SWP_NOACTIVATE

不激活窗口

SWP_NOMOVE

保持當前位置(x和y設(shè)定將被忽略)

SWP_NOREDRAW

窗口不自動重畫

SWP_NOSIZE

保持當前大小(cx和cy會被忽略)

SWP_NOZORDER

保持窗口在列表的當前位置(hWndInsertAfter將被忽略)

SWP_SHOWWINDOW

顯示窗口

SWP_FRAMECHANGED

強迫一條WM_NCCALCSIZE消息進入窗口,即使窗口的大小沒有改變

注解

窗口成為最頂級窗口后,它下屬的所有窗口也會進入最頂級。一旦將其設(shè)為非最頂級,則它的所有下屬和物主窗口也會轉(zhuǎn)為非最頂級。Z序列用垂直于屏幕的一根假想Z軸量化這種從頂部到底部排列的窗口順序

Top