计算机二级VisualBasic辅导:使用API函数设置窗体总在前端
在某些情况下,我们需要某种形式总是在所有形式的前面。我们可以用Form1.show 1来实现这个,但是会有一个问题,就是整个程序会被挂起,直到Form1卸载后程序才会继续运行。
那么我如何让我的窗口总是在最前面呢?在不影响我整个程序运行的情况下?
使用api函数SetWindowPos可以轻松完成。
SetWindowPos是设置窗口位置和状态的函数(pos=position)。源代码如下:
option explicit
private declare function setwindowpos lib " user 32 "(ByVal hwnd As Long、byval hwnd inserter as long、ByVal x As Long、ByVal y As Long、ByVal cx As Long、ByVal cy As Long、Val w flags As Long)Long
private consth wnd _ most & =-1
'将窗口放在列表的顶部, 并且位于任何最顶端窗口的前面
私常数SWP _ no size & =&h1
'保持窗口大小
私常数SWP _ no move & =&H2
'保持窗口位置
Privateform _ load()
setwindowpos me . hwnd,hwnd _ most,0,0,0,SWP _ no move或SWP _ no size
'将窗口设置在所有窗口的前面
End Sub
0条评论