函數功能
該函數改變一個子窗口,彈出式窗口式頂層窗口的尺寸,位置和Z序。 子窗口,彈出式窗口,及頂層窗口根據它們在屏幕上出現的順序排序、頂層窗口設置的級別最高,並且被設置爲Z序的第一個窗口。參數
hWnd:窗口句柄。 hWndlnsertAfter:在z序中的位於被置位的窗口前的窗口句柄。該參數必須爲一個窗口句柄,或下列值之一: HWND_BOTTOM:將窗口置於Z序的底部。如果參數hWnd標識了一個頂層窗口,則窗口失去頂級位置,並且被置在其他窗口的底部。 HWND_NOTOPMOST:將窗口置於所有非頂層窗口之上(即在所有頂層窗口之後)。如果窗口已經是非頂層窗口則該標誌不起作用。 HWND_TOP:將窗口置於Z序的頂部。 HWND_TOPMOST:將窗口置於所有非頂層窗口之上。即使窗口未被激活窗口也將保持頂級位置。Public Declare Function SetWindowPos Lib "user32" (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 ' SetWindowPos Flags Public Const SWP_NOSIZE = &H1 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOZORDER = &H4 Public Const SWP_NOREDRAW = &H8 Public Const SWP_NOACTIVATE = &H10 Public Const SWP_FRAMECHANGED = &H20 ' The frame changed: send WM_NCCALCSIZE Public Const SWP_SHOWWINDOW = &H40 Public Const SWP_HIDEWINDOW = &H80 Public Const SWP_NOCOPYBITS = &H100 Public Const SWP_NOOWNERZORDER = &H200 ' Don't do owner Z ordering Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER ' SetWindowPos() hwndInsertAfter values Public Const HWND_TOP = 0 Public Const HWND_BOTTOM = 1 Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2
Private Sub Form_Click() SetWindowPos Me.hwnd, HWND_BOTTOM, Me.ScaleLeft, Me.ScaleTop, 800, 600, SWP_NOMOVE End Sub
上面一段代碼是用來設置當前窗口在單擊時隱藏在最底層