怎么VB的窗体在最前面

2025-04-13 11:17:02
推荐回答(3个)
回答1:

Private Declare Function SetWindowPos& Lib "USER32" (ByVal hWnd&, ByVal after&, ByVal x&, ByVal y&, ByVal w&, ByVal h&, ByVal wflg&)
Const HWND_TOPMOST = -1
Private Sub Form_Initialize()
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
End Sub

HWND_BOTTOM 将窗口置于窗口列表底部
HWND_TOP 将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序
HWND_TOPMOST 将窗口置于列表顶部,并位于任何最顶部窗口的前面
HWND_NOTOPMOST 将窗口置于列表顶部,并位于任何最顶部窗口的后面

这样应该够详细了吧。

回答2:

你的意思是象对话框一样,只要打开了这个窗体就不能响应其它窗体是不是:
Private Sub Command1_Click()
Form2.Show 1
End Sub

回答3:

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
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40

Private Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 183, 190, SWP_SHOWWINDOW
End Sub