EventHandler
EventHandler[expr,{"event1":>action1,"event2":>action2,…}]
显示为 expr,只要连接到 expr 的 "eventi" 发生时,运行 actioni.
更多信息和选项
- 标准与鼠标相关事件包括:
-
"MouseClicked" 按下鼠标不动 {"MouseClicked",i} 按下鼠标第 i 按钮不动 "MouseDown" 按下鼠标主按钮 {"MouseDown",i} 按下鼠标第 i 按钮 "MouseDragged" 按下鼠标主按钮,鼠标移动 {"MouseDragged",i} 按下鼠标第 i 按钮,鼠标移动 "MouseMoved" 鼠标在 expr 定义的区域内移动 "MouseUp" 释放鼠标主按钮 {"MouseUp",i} 释放鼠标第 i 个按钮 - 对于鼠标事件,EventHandler[expr, …] 处理 expr 定义的矩形区域内的鼠标事件.
- 标准与键盘相关事件包括:
-
"KeyDown" 按下键盘上的任意键 {"KeyDown","x"} 按下 x 键 "ReturnKeyDown" 按下 或 键 "EscapeKeyDown" 按下 键 "LeftArrowKeyDown" 按下左箭头键 "RightArrowKeyDown" 按下右箭头键 "UpArrowKeyDown" 按下上箭头键 "DownArrowKeyDown" 按下下箭头键 - 标准界面事件包括:
-
{"MenuCommand","name"} 带有选择名称的菜单命令 "WindowClose" 关闭需要的窗口 - 如果诸如 MousePosition 或 CurrentValue 的函数在特定 actioni 中进行计算,它们给出的值是 actioni 触发了事件相关的值.
- 当 EventHandler 表达式嵌套时,事件默认由所有表达式共享,最内层表达式首先运行事件.
- 可以给出以下可选项:
-
Method "Preemptive" 使用的计算方法 PassEventsDown Automatic 是否把事件传送给内部事件处理程序 PassEventsUp True 是否把事件传送给外部事件处理程序 - Method 选项的典型可能设置包括 "Preemptive" 和 "Queued".
- 在 PassEventsDown->Automatic 缺省设置情况下,EventHandler 处理的事件也不会传送给 Wolfram 系统前端的内在事件处理程序.
范例
打开所有单元关闭所有单元选项 (5)
Method (1)
使用 Method->"Queued" 在主链接上计算按钮函数,从不超时:
PassEventsUp (2)
默认情况下,在指定的行为下,嵌套的 EventHandler 行为被触发:
通过禁用 PassEventsUp,防止外层的 EventHandler 行为被触发:
当 键被按下时,允许外层的 EventHandler 行为:
属性和关系 (1)
EventHandler 可以和 MousePosition 连用:
Wolfram Research (2007),EventHandler,Wolfram 语言函数,https://reference.wolfram.com/language/ref/EventHandler.html (更新于 2008 年).
文本
Wolfram Research (2007),EventHandler,Wolfram 语言函数,https://reference.wolfram.com/language/ref/EventHandler.html (更新于 2008 年).
CMS
Wolfram 语言. 2007. "EventHandler." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2008. https://reference.wolfram.com/language/ref/EventHandler.html.
APA
Wolfram 语言. (2007). EventHandler. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/EventHandler.html 年