Access或VB VBA 获取了窗体或控件的句柄 Hwnd, 如果用API 设置焦点到这个控件或窗体上
可使用以下的代码,要准确定位焦点
1. 使用VB API SendMessage来实现
简易使用SendMessage,比SetFocus更为底层,调用速度快
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETFOCUS = &H7
SendMessage childhwnd, WM_SETFOCUS, 0, ByVal 0&
2. 如果 用API Setfocus也是可以的。
可使用SetFocus的部分控件
1.MDI窗体。2.窗体3.ADODATA 控件4.Animation 控件5.CheckBox 控件6.ComboBox 控件7.CommandButton 控件8.所有数据(Data)控件9.DateTimePicker 控件10.DirListBox 控件11.DriveListBox 控件12.FileListBox 控件13.HScrollBar 、VScrollbar 控件14.FlatScrollbar 控件15.ListBox 和 ListView 控件16.TextBox 控件17.Imagecombo 控件18.Masked Edit 控件19.OLE 容器控件20.MSFlexGrid 和 MSHFlexGrid 控件(别把两个控件混一起了)21.OptionButton 控件22.PictureBox 控件23. 属性页对象(Property Page )24.RichTextBox 控件25.Silder 控件26. 用户自定义控件对象 (UserControl )27.ActiveX 文档 (UserDocument)28.TabStrip 控件29.TreeView 控件30.updown 控件31.Window 对象