VB激活窗体的问题
我想用VB写一个程序,当打开主窗体后,希望主窗体能够时刻处于被激活状态,如果在某一时刻该窗体不幸失去了焦点,能够马上使自己再次处于激活状态。我尝试过以下代码:Privat...
我想用VB写一个程序,当打开主窗体后,希望主窗体能够时刻处于被激活状态,如果在某一时刻该窗体不幸失去了焦点,能够马上使自己再次处于激活状态。我尝试过以下代码:
Private Sub Form_LostFocus()
Form1.SetFocus
End Sub
但这样不行,到网上查了一下发现,因为窗体内还有其它控件,主窗体就永远不可能获得焦点,也就永远不会失去焦点,因此Form_LostFocus的事件也不可能发生。那现在我该怎么办?如何让这个窗体时刻保持激活状态? 展开
Private Sub Form_LostFocus()
Form1.SetFocus
End Sub
但这样不行,到网上查了一下发现,因为窗体内还有其它控件,主窗体就永远不可能获得焦点,也就永远不会失去焦点,因此Form_LostFocus的事件也不可能发生。那现在我该怎么办?如何让这个窗体时刻保持激活状态? 展开
展开全部
添加一个Timer控件Timer_GAW,添加如下代码:
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Sub Form_Load()
Timer_GAW.Interval = 100
End Sub
Private Sub Timer_GAW_Timer()
Dim ThehWnd As Long
ThehWnd = GetActiveWindow()
If ThehWnd <> Me.hWnd Then Me.SetFocus
End Sub
'////////////////////////////////////////////
'//如果你是要使主窗体在程序的其他窗体的顶端,请使用如下代码显示主窗体
Form1.Show 1 '//假设主窗体为Form1
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Sub Form_Load()
Timer_GAW.Interval = 100
End Sub
Private Sub Timer_GAW_Timer()
Dim ThehWnd As Long
ThehWnd = GetActiveWindow()
If ThehWnd <> Me.hWnd Then Me.SetFocus
End Sub
'////////////////////////////////////////////
'//如果你是要使主窗体在程序的其他窗体的顶端,请使用如下代码显示主窗体
Form1.Show 1 '//假设主窗体为Form1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询