vb中失去焦点怎么写

1.vb中窗体失去焦点时触发某一事件怎么写Private Declare Function GetForegroundWindow Lib "User32" () As Long 'api声明
Private Sub Form_Load()
Timer1.Interval = 100 '设置定时器延时100毫秒
End Sub
Private Sub Timer1_Timer()
If GetForegroundWindow <> Me.hWnd Then '判断获取的句柄与本窗体的句柄是否一致
Form1.WindowState = 1 '如果不一致就最小化
End If
End Sub
2.vb中窗体失去焦点时触发某一事件怎么写Private Declare Function GetForegroundWindow Lib "User32" () As Long 'api声明Private Sub Form_Load()Timer1.Interval = 100 '设置定时器延时100毫秒End SubPrivate Sub Timer1_Timer()If GetForegroundWindow <> Me.hWnd Then '判断获取的句柄与本窗体的句柄是否一致Form1.WindowState = 1 '如果不一致就最小化End IfEnd Sub 。
3.VB 失去焦点事件要说失去焦点
就不得不先说 获得焦点
大部分有Enabled和Visible属性的对象都有
Got_Focus() 和LostFocus()事件
而且对象的Enabled和Visible属性必须设置为TURE
才可以接受这两个事件
获得焦点即GOT_Focus
何为获得焦点呢 比如TEXT控件而言
他获得焦点的时候光标是在闪的 整个控件处于
一种激活状态 换句话说 焦点也可以说成是光标
比如按下按钮之后 COMMAND控件上有一圈虚线
这就是焦点 所在之处
如果这个焦点从TEXT控件 或者COMMAND控件上转移
了的时候 那么 TEXT或者COMMAND控件的焦点失去事件
即被触发 就FORM而言 是焦点不在窗体之上即触发 比如运行的时候你点击了窗
体以外的部分
按 TAB键切换顺序时候 或单击对象的用户动作
或者SETFOCUS方法 都可以触发对象的焦点失去事件
SETFOCUS是动态的用代码设置的
最后重申一句 对象的Enabled和Visible属性必
须同时设置为TRUE的时候 才可以接受这两个事件
下面的解释来自MSDN
此事件是在一个对象失去焦点时发生 , 焦点的丢失或者是由于制表键移动或单击另一个对象操作的结果 , 或者是代码中使用 SetFocus 方法改变焦点的结果 。
语法
Private Sub Form_LostFocus( )
Private Sub object_LostFocus([index As Integer])
LostFocus 事件包括下列部分:
部分 描述
object 一个对象表达式 , 其值是“应用于”列表中的一个对象 。
index 一个整数 , 它用来唯一地标识一个在控件数组中的控件 。
说明
LostFocus 事件过程主要是用来对更新进行验证和确认 。使用 LostFocus 可以在焦点移离控件时引进确认 。这类事件过程的另一种用途与在 GotFocus 事件过程中的应用类似 , 可以隐藏、显示其它对象或者使它们有效或无效 。也可使设置在该对象的 GotFocus 事件过程中的条件取反或对其进行更改 。
如果由 Visual Basic 所建立的 .exe 文件要显示一个由也是用 Visual Basic 所建立的 .dll 文件所创建的对话框 , 则该 .exe 文件的窗体将得到 Deactivate 和 LostFocus 事件 。这可能是不希望的 , 因为对话框将不能获得 Deactivate 事件:
如果该对象是进程外的部件 。
如果该对象不是用 Visual Basic 编写成 。
【vb中失去焦点怎么写】在开发环境中当调用一个用 Visual Basic 所建立的 DDL 时 。
4.VB中如何在失去焦点时通过按键再次获得焦点这个要先为你那个程序用RegisterHotKey等API注册一个热键 , 在检测到按了那个热键时用SetFocusAPI&等API使程序获得焦点~
句柄会找吧~找到句柄后用SetFocusAPI& hwnd来设置焦点到那个窗口~要先声明API:
Declare Function SetFocusAPI& Lib "user32" Alias "SetFocus" (ByVal hwnd As Long)