以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [原创]如何获取窗口中焦点空间的名称 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57846)
|
-- 作者:80帅兜
-- 发布时间:2014/10/5 22:18:00
-- [原创]如何获取窗口中焦点空间的名称
一个窗口,有textbox、checkbox、treeview、button等控件。
有什么办法直接获取到当前获得焦点空间的名称吗?,,比如,如果在textbox点击并要输入东西。。那么这个代码会自动获取到textbox的名字。。
有个Focused,但这个是判断空间是否获得焦点的。。。
|
-- 作者:有点甜
-- 发布时间:2014/10/5 22:27:00
--
这个要变通来做。
你需要在窗口的全局事件Enter加入代码 vars("currCtr") = e.Sender
然后在有需要的时候使用。
|
-- 作者:80帅兜
-- 发布时间:2014/10/5 22:34:00
--
我靠。。。自己搞定了。。。试了好几个代码,无厘头的自己又瞎填写了一个,竟然OK了
forms(“窗口1”).ActiveControl.name
|
-- 作者:有点甜
-- 发布时间:2014/10/5 22:36:00
--
呃,这个应该是获取不了的吧?
|
-- 作者:80帅兜
-- 发布时间:2014/10/5 22:36:00
--
把上面的代码,放在窗口的click中。。。点窗口的所有空间,都能显示对应的控件名称。。
当然,代码改成了messagebox.show(forms("窗口1").ActiveControl.name)
觉得有错吗?
|
-- 作者:有点甜
-- 发布时间:2014/10/5 22:38:00
--
回复5楼,但是你无法在外面获取,必须变通处理。可以参考2楼
|
-- 作者:80帅兜
-- 发布时间:2014/10/5 22:40:00
--
此主题相关图片如下:qq截图20141005223935.png
此主题相关图片如下:qq截图20141005223947.png
此主题相关图片如下:qq截图20141005224007.png
|
-- 作者:80帅兜
-- 发布时间:2014/10/5 22:42:00
--
反正能获取焦点的控件都会返回Name。。。。这是我瞎试的代码,还请高手指教更科学的方法。。。
我只是想在窗口的一个Lable随着获得焦点控件的不同,会提示不同信息。。。
|
-- 作者:有点甜
-- 发布时间:2014/10/5 22:44:00
--
以下是引用80帅兜在2014-10-5 22:42:00的发言:
反正能获取焦点的控件都会返回Name。。。。这是我瞎试的代码,还请高手指教更科学的方法。。。
我只是想在窗口的一个Lable随着获得焦点控件的不同,会提示不同信息。。。
如果是这样,你就在各个窗口的enter事件加入,比如 msgbox(e.Sender.Name)
|
-- 作者:80帅兜
-- 发布时间:2014/10/5 22:51:00
--
嗯,你这个更简便。。
|