设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6939|回复: 5
打印 上一主题 下一主题

[窗体] 求助关于窗体获得焦点事件

[复制链接]
跳转到指定楼层
1#
发表于 2004-4-29 03:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为何窗体获得/失去焦点事件没反应,师兄们能帮忙改一下吗?详见付件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-5-1 06:59:00 | 只看该作者
高难度!
顶一下!
3#
发表于 2004-5-1 07:47:00 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2004-5-1 16:09:00 | 只看该作者
当这些事件发生时,如果要运行宏或事件过程,请将 OnGotFocus 或 OnLostFocus 属性设置为宏的名称或 [事件过程]。

当焦点为响应用户操作而移动时,这两事件发生。例如,按下 TAB 按键、单击对象,或在 Visual Basic 中使用 SetFocus 方法,在宏中使用 SelectObject、GoToRecord、GoToControl 或 GoToPage 操作。

控件只有在它的 Visible 和 Enabled 属性都设置为 Yes 时才能获得焦点。窗体只有在它没有控件或所有可见的控件都失效时,才能获得焦点。如果窗体包含了任何可见的、有效的控件,则窗体的 GotFocus 事件不会发生。

当 GotFocus 事件发生时,可以通过运行宏或事件过程来指定窗体或控件获得焦点时要进行的操作。例如,通过将 GotFocus 事件过程附加到窗体上的每一控件,可以在文本框中显示简要的帮助或消息来指引用户使用应用程序。也可以根据控件是否获得焦点,在视觉上提供有关控件有效、失效的提示。

注意   在按下 TAB 键时,如果要自定义焦点在窗体控件间移动的顺序,请设置控件的 Tab 键次序或指定控件的访问键。

GotFocus 事件与 Enter 事件不同之处在于:GotFocus 事件在控件每次获得焦点时都发生。例如,如果用户单击窗体上的复选框,然后单击报表,最后再单击窗体上的复选框将它显示为前台对象。GotFocus 事件在复选框两次获得焦点时都发生。而 Enter 事件只在用户第一次单击复选框时才发生。GotFocus 事件在 Enter 事件之后发生。

LostFocus 与 Exit 事件不同之处在于:LostFocus 事件发生在控件失去焦点时。Exit 事件只有当同一窗体上一个控件失去焦点,而另一控件获得焦点之前才会发生。LostFocus 事件发生在 Exit 事件之后。

如果将焦点移动到窗体上的某一控件(该控件在窗体上没有焦点),窗体上拥有焦点的控件将在另一控件(焦点移到)的 Enter 和 GotFocus 事件之前发生 Exit 和 LostFocus 事件。

如果使用鼠标将焦点从主窗体上的控件移动到该窗体的子窗体控件上,下列事件将发生:

Exit(主窗体上的控件)



LostFocus(主窗体上的控件)



Enter(子窗体控件)



Exit(子窗体上具有焦点的控件)



LostFocus(子窗体上具有焦点的控件)



Enter(子窗体上焦点将移到的控件)



GotFocus(子窗体上焦点将移到的控件)

如果在子窗体上要移动到的控件原来就拥有焦点,则该控件的 Enter 事件和 GotFocus 事件都不会发生,但是子窗体的 Enter 事件则会发生。如果把焦点从子窗体上的控件移动到主窗体上的控件,子窗体上控件的 Exit 和 LostFocus 事件将不会发生,只有子窗体本身的 Exit 事件和主窗体上控件上的 Enter 和 GotFocus 事件才会发生。

注意   一般使用鼠标或按键(例如 TAB 键)将焦点移动到另一控件上。这样除了产生本主题讨论的事件外,还将导致 Mouse 或 Keyboard 事件的发生。

在两个打开的窗体之间切换时,第一个窗体将发生 Deactivate 事件,第二个窗体将发生 Activate 事件。如果该窗体不包含可见的、有效的控件,则第一个窗体的 LostFocus 事件将发生在 Deactivate 事件之前,而第二个窗体的 GotFocus 事件则将发生在 Activate 事件之后。
5#
发表于 2004-5-1 21:19:00 | 只看该作者
很实用!
6#
 楼主| 发表于 2004-5-2 07:54:00 | 只看该作者
以下是引用sunredday在2004-5-1 8:08:43的发言:
在两个打开的窗体之间切换时,第一个窗体将发生 Deactivate 事件,第二个窗体将发生 Activate 事件...............


在 Deactivate 事件 和 Activate 事件 中写入代码均不执行,我本意是在两个窗体之间切换时激活的窗体中的子窗体才可见,否则为子窗体隐藏。效果如标题栏激活时为兰色,否则为灰色。各位高手有方法吗?请指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 16:56 , Processed in 0.098532 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表