我当初也做过这个,好像是6年前的事了,记不太清楚了,好像如果便利目标IE的子窗口是找不到input类名也抓不到句柄的,不过我真的记不清了。但下拉框是绝对能找到的。
而且我刚用Spy++试了一下,也没抓到!
好久不玩VB+API了,
如果你就是想学习一下API,那么下面这个是我刚从我Blog里翻出来的
禁用Windows的开始按钮
'
' Paste this into a Code Mode (BAS)
'
Option Explicit
'
private Declare Function FindWindowEx Lib "user32" _
Alias "FindWindowExA" (byval hWnd1 as Long, byval hWnd2 as Long, _
byval lpsz1 as string, byval lpsz2 as string) as Long
'
private Declare Function EnableWindow Lib "user32" (byval hwnd as Long, _
byval fEnable as Long) as Long
public Sub EnableStartMenuButton(byval bEnable as Boolean)
'
' Don't forget to re-enable it !
'
Dim lHwnd as Long
'
lHwnd = FindWindowEx(0&, 0&, "Shell_TrayWnd", vbNullString)
lHwnd = FindWindowEx(lHwnd, 0&, "Button", vbNullString)
Call EnableWindow(lHwnd, bEnable)
'
End Sub
你拿去看看,有点帮助!
需要这么两步:
第一,在XML中控件的属性中加上以下这么两项属性
Android:focusable="true"
android:focusableInTouchMode="true"
第二,在代码中用调用requestFocus()方法,这样就可以顺利的将焦点主动的设置到该控件上了。
Android焦点分发主要涉及的方法就是
findFocus:View都有,发现焦点
requestFocus:View都有,请求获取焦点
requestChildFocus:只有ViewGroup有
focusSearch:View都有,焦点查询
这几个方法下面将分别介绍一下这几个方法。
1、焦点的获取,默认进入页面
系统自动请求焦点也是从最顶层的容器控件开始向内请求的,我们进入一个界面系统会自动请求焦点,寻找焦点,最后使用一个控件获得焦点。
2、焦点的切换
切换焦点的时候,也是要从最顶层的父容器寻找到焦点(findFocus),然后从获得到焦点的控件开始从内向外调用focusSearch寻找下一个焦点控件。
总结:Android的焦点分发跟事件分发类似,有一个从内向外,从外向内的过程,焦点分发中,寻找当前的焦点控件(findFocus)和焦点的请求(requestChildFocus)都是从外向内的,就是从顶层的父容向内层的子容器寻找和请求,但是搜寻下一个焦点(focusSearch)是从当前焦点控件开始的,就是从内向外寻找,到这里我们知道了Android焦点分发的一个基本流程。
参考 Android TV 按键焦点事件分发流程详解
Form1ActiveControlName
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TICreate(Nil);
IMaxim := MaximStr;
……………………………………………………对你无语。
像你说的那些都是窗口控件,有句柄的,正是因为这样,他们才有焦点的,虚线框是特有的。当获得焦点,表示当前正在 *** 作的控件。去掉?搞笑哈……
类似Label、Image等是图形控件,无句柄,它们就没有焦点,也就没有虚线框。
没有办法……
以上就是关于visual Basic6.0 语言编程中,如何获取当前活动窗口的焦点控件句柄全部的内容,包括:visual Basic6.0 语言编程中,如何获取当前活动窗口的焦点控件句柄、如何让一个控件能主动获取到焦点、Android焦点问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)