读书人

窗口始终最前端展示不了

发布时间: 2013-03-17 13:48:31 作者: rapoo

窗口始终最前端显示不了
代码如下:
Private 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

abc=SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, 3 )

用timer也不行,怎么回事啊?求高手帮忙看看。
[解决办法]

Option Explicit
Private Const SW_RESTORE As Long = 9
Private Declare Function SetWindowPos Lib "user32.dll" (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
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Form_Load()
Call SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3)
Call ShowWindow(Me.hwnd, SW_RESTORE)
End Sub

[解决办法]

'模块代码
Option Explicit
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
Public Const HWND_TOPMOST = -1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOZORDER = &H8

Public Sub SetFormTopmost(TheForm As Form)


SetWindowPos TheForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
End Sub
'窗体代码
Option Explicit

Private Sub Command1_Click()
SetFormTopmost frmMain
End Sub

读书人网 >VB

热点推荐