首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

窗口始终最前端展示不了

2013-03-17 
窗口始终最前端显示不了代码如下:Private Declare Function SetWindowPos Lib user32 (ByVal hwnd As Lo

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

热点排行