+ -
当前位置:首页 → 问答吧 → [求助]如何使form直接显示在桌面上,并“总在最前面”?

[求助]如何使form直接显示在桌面上,并“总在最前面”?

时间:2008-04-23

来源:互联网

求助:

各位老师:

如何使Word的表单直接显示在桌面上,并“总在最前面”,即象某些媒体播放器软件一样,窗口总在最前面,其他程序的窗口不会遮盖它,需要使用API完成么?我对API不太懂,也未找到相应的功能,请帮助我。

作者: qxnljx   发布时间: 2008-04-23

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

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

Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1

Private Sub UserForm_Activate()
    Dim hwnd As Long
    hwnd = FindWindow("ThunderDFrame", vbNullString)
    SetWindowPos hwnd, HWND_TOPMOST, Me.Left + Me.Width / 2, Me.Top + Me.Height / 2, 0, 0, SWP_NOSIZE
End Sub

作者: konggs   发布时间: 2008-04-23

谢谢版主。

作者: qxnljx   发布时间: 2008-04-23

引用:
原帖由 konggs 于 2008-4-23 21:20 发表
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _    (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function SetWindowPos Lib "u ...
版主你好,那如果是excel文件有该怎么用呢  麻烦你啦

作者: 467565088   发布时间: 2011-03-16