以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [原创]如何获取窗口中焦点空间的名称  (http://www.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
--  
嗯,你这个更简便。。