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軸量化這種從頂部到底部排列的窗口順序 |