荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Second (石开), 信区: Program
标  题: [合集] 如何让VB可执行程序窗体浮在活动窗口最前端?
发信站: 荔园晨风BBS站 (Sat Dec 22 09:53:25 2001), 站内信件

langic (雨霏) 于Fri Dec 14 21:32:43 2001提到:


senkeung (小蔷) 于Fri Dec 14 21:50:52 2001提到:

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

   hWnd变元是窗口的句柄;x,y是窗口的左上角的坐标;cx、cy是窗口宽度和
高度;hWndInsertAfter变元是窗口清单中hWnd窗口前面的窗口句柄,有四个可选
值:

序号 可 选 值 作 用

1 HWND_BOTTOM 把窗口放在窗口清单的底部

2 HWND_TOP 把窗口放在窗口清单的字符顺序的顶部

3 HWND_TOPMOST 把窗口放在窗口清单的顶部

4 HWND_NOTOPMOST 把窗口放在窗口清单的顶部,最上层窗口之下

   WFlags变元为整型值,有八个可选值:

序号 可 选 值 作 用

1 SWP_DRAWFRAME 在窗口周围画一个方框

2 SWP_HIDEWINDOW 隐藏窗口

3 SWP_NOACTIVATE 不激活窗口

4 SWP_NOMOVE 保持窗口当前位置

5 SWP_NOREDRAW 窗口不自动重画

6 SWP_NOSIZE 保持窗口当前尺寸

7 SWP_NOZORDER 保持窗口在窗口清单中的当前位置

8 SWP_SHOWWINDOW 显示窗口

   下面的例子程序Test演示了对函数中的以上7个变元作正确的选择后,应用程
序运行后窗口总可保持在最上层,程序清单如下:

Option Explicit

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_SHOWWINDOWS = &H40

Private Sub Form_Load()

Dim retValue As Long

retValue = SetWindowPos(Me.hwnd,

HWND_TOPMOST, Me.CurrentX, _

Me.CurrentY, 300, 300, SWP_SHOWWINDOWS)

End Sub


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店