Version: 2019.1
合成事件
内置控件

事件类型参考

本主题将提供每种事件类型的概要。请参阅 API 文档了解每个事件成员及其用途的完整描述。

捕获事件

实现 IMouseCaptureEvent 的事件。

MouseCaptureEvent

元素接受鼠标捕获时发送 MouseCaptureEvent

target:接受捕获的元素。

MouseCaptureOutEvent

元素释放鼠标捕获或以其他方式失去鼠标捕获时发送 MouseCaptureOutEvent

target:失去捕获的元素。

更改事件

实现 IChangeEvent 的事件。

ChangeEvent

ChangeEvent<T> 是元素值更改时发送的通用事件。通常在控件更改时发送。对于 InputEvent 控件,不会针对控件中的每个输入事件发送此事件,而是仅在值更改时发送。通常是控件失去焦点或按下 Enter 键时。

<T> :值的类型。

target :发生值更改的元素。

previousValue :旧控件值。

newValue :新控件值。

命令事件

实现 ICommandEvent 的事件。

target :获得键盘焦点的元素。如果没有元素获得焦点,则为 null。

commandName :用于验证或执行的命令。

ValidateCommandEvent

此事件由 IMGUI 发送,同时可确定该命令是否由面板中的元素处理。

ExecuteCommandEvent

当面板中的元素执行命令时,IMGUI 将发送此事件。

拖放事件

拖放操作期间发送的事件。

DragExitedEvent

已取消拖放操作。放置目标未接受拖动元素。

DragUpdatedEvent

拖动的元素移到放置目标上方。如果放置目标愿意接受拖动的元素,则此事件的回调应设置 DragAndDrop.visualMode 以确保在用户松开鼠标键时发送 DragPerformEvent

DragPerformEvent

拖动的元素已放置在接受它们的目标上。拖放操作现在已完成。

DragEnterEvent

拖动的元素进入了新的 VisualElement。具体而言,此事件在拖动操作开始时发送。

DragLeaveEvent

拖动的元素离开了当前放置目标。具体而言,此事件在拖动操作结束时发送。

布局事件

GeometryChangedEvent

当元素的位置或尺寸发生变化时发送的事件。此类型的事件仅发送到事件目标。它们不会传播。

target :具有新几何形状的元素。

oldRect :元素先前的位置和尺寸。

newRect :元素的新位置和尺寸。

焦点事件

实现 IFocusEvent 的事件。

在元素获得或失去键盘焦点时发送这些事件。有两组焦点事件:

  • 在焦点发生变化之前沿着传播路径发送 FocusOutEventFocusInEvent 事件。
  • 在焦点变化后仅立即将 FocusEventBlurEvent 事件发送到事件目标。

FocusOutEvent

当元素即将失去焦点时发送的事件。

target :将失去焦点的元素。

relatedTarget :将获得焦点的元素。

FocusInEvent

当元素即将获得焦点时发送的事件。

target :将获得焦点的元素。

relatedTarget :将失去焦点的元素。

BlurEvent

当元素失去焦点后发送的事件。

target :失去焦点的元素。

relatedTarget :获得焦点的元素。

FocusEvent

当元素获得焦点后发送的事件。

target :获得焦点的元素。

relatedTarget :失去焦点的元素。

输入事件

InputEvent

将数据输入到视觉元素(通常是控件)时发送的事件。此事件与 ChangeEvent 的不同之处在于,即使控件的值未更改,也会针对控件中的每个输入事件发送此事件。

target :执行输入的元素。

previousData :以前的数据。

newData :新数据。

键盘事件

实现 IKeyboardEvent 的事件。

KeyDownEvent

用户按下键盘上的键时发送的事件。

target :具有键盘焦点的元素。如果没有元素具有键盘焦点,则为面板的根元素。

KeyUpEvent

用户松开键盘上的键时发送的事件。

target :具有键盘焦点的元素。如果没有元素具有键盘焦点,则为面板的根元素。

鼠标事件

实现 IKeyboardEvent 的事件。

当元素捕获鼠标时,鼠标事件仅发送到进行捕获的元素。无传播。

MouseDownEvent

用户按下其中一个鼠标键时发送的事件。

target :如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。

MouseUpEvent

用户松开其中一个鼠标键时发送的事件。

target :如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。

MouseMoveEvent

用户移动鼠标时发送的事件。

target :如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。

ContextClickEvent(已弃用)

用户按下并松开第三个鼠标键时发送的事件。此事件仅用于向后兼容 IMGUI。

WheelEvent

用户激活鼠标滚轮时发送的事件。

target :如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。

MouseEnterWindowEvent

鼠标进入窗口时发送的事件。

target :如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。

MouseLeaveWindowEvent

鼠标离开窗口时发送的事件。

target :如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则为 null,因为光标不在元素上方。

MouseEnterEvent

鼠标进入元素或其后代之一时发送的事件。此事件与 MouseOverEvent 的不同之处在于,此事件将发送到鼠标进入的每个元素。此事件不会传播。

target :鼠标光标下的元素或其后代之一。

MouseLeaveEvent

鼠标离开元素或其后代之一时发送的事件。此事件与 MouseOutEvent 的不同之处在于,此事件将发送到鼠标退出的每个元素。此事件不会传播。

target :刚被鼠标光标退出或后代之一被鼠标光标退出的元素。

MouseOverEvent

鼠标进入元素时发送的事件。此事件与 MouseEnterEvent 的不同之处在于,此事件仅发送到鼠标进入的元素。.此事件不会传播。

target :现在位于鼠标光标下的元素。

MouseOutEvent

鼠标离开元素时发送的事件。此事件与 MouseLeaveEvent 的不同之处在于,此事件仅发送到鼠标已退出的元素并会传播。

target :鼠标光标刚退出的元素。

ContextualMenuPopulateEvent

当需要使用菜单项填充上下文菜单时由 ContextualMenuManager 发送的事件。

target :要构建上下文菜单的元素。

面板事件

AttachToPanelEvent

在元素附加到 IPanel 后立即发送的事件。由于 面板的设置是递归的,因此元素的所有后代也会 接收该事件。

target :要附加到面板的元素。

DetachFromPanelEvent

在元素与 IPanel 分离之前发送的事件。由于 面板的设置是递归的,因此元素的所有后代也会 接收该事件。

target :要从面板分离的元素。

工具提示事件

TooltipEvent

在显示工具提示之前发送的事件。处理程序应该设置 TooltipEvent.tooltip 字符串和 TooltipEvent.rect

target :需要显示工具提示的元素。

IMGUI 事件

IMGUIEvent

用于封装 IMGUI 特有事件的事件。


  • 2018–11–02 页面已修订并只进行了有限的编辑审查
合成事件
内置控件