本主题将提供每种事件类型的概要。请参阅 API 文档了解每个事件成员及其用途的完整描述。
实现 IMouseCaptureEvent
的事件。
元素接受鼠标捕获时发送 MouseCaptureEvent
。
target
:接受捕获的元素。
元素释放鼠标捕获或以其他方式失去鼠标捕获时发送 MouseCaptureOutEvent
。
target
:失去捕获的元素。
实现 IChangeEvent
的事件。
ChangeEvent<T>
是元素值更改时发送的通用事件。通常在控件更改时发送。对于 InputEvent
控件,不会针对控件中的每个输入事件发送此事件,而是仅在值更改时发送。通常是控件失去焦点或按下 Enter
键时。
<T>
:值的类型。
target
:发生值更改的元素。
previousValue
:旧控件值。
newValue
:新控件值。
实现 ICommandEvent
的事件。
target
:获得键盘焦点的元素。如果没有元素获得焦点,则为 null。
commandName
:用于验证或执行的命令。
此事件由 IMGUI 发送,同时可确定该命令是否由面板中的元素处理。
当面板中的元素执行命令时,IMGUI 将发送此事件。
拖放操作期间发送的事件。
已取消拖放操作。放置目标未接受拖动元素。
拖动的元素移到放置目标上方。如果放置目标愿意接受拖动的元素,则此事件的回调应设置 DragAndDrop.visualMode
以确保在用户松开鼠标键时发送 DragPerformEvent
。
拖动的元素已放置在接受它们的目标上。拖放操作现在已完成。
拖动的元素进入了新的 VisualElement
。具体而言,此事件在拖动操作开始时发送。
拖动的元素离开了当前放置目标。具体而言,此事件在拖动操作结束时发送。
当元素的位置或尺寸发生变化时发送的事件。此类型的事件仅发送到事件目标。它们不会传播。
target
:具有新几何形状的元素。
oldRect
:元素先前的位置和尺寸。
newRect
:元素的新位置和尺寸。
实现 IFocusEvent
的事件。
在元素获得或失去键盘焦点时发送这些事件。有两组焦点事件:
FocusOutEvent
和 FocusInEvent
事件。FocusEvent
和 BlurEvent
事件发送到事件目标。当元素即将失去焦点时发送的事件。
target
:将失去焦点的元素。
relatedTarget
:将获得焦点的元素。
当元素即将获得焦点时发送的事件。
target
:将获得焦点的元素。
relatedTarget
:将失去焦点的元素。
当元素失去焦点后发送的事件。
target
:失去焦点的元素。
relatedTarget
:获得焦点的元素。
当元素获得焦点后发送的事件。
target
:获得焦点的元素。
relatedTarget
:失去焦点的元素。
将数据输入到视觉元素(通常是控件)时发送的事件。此事件与 ChangeEvent
的不同之处在于,即使控件的值未更改,也会针对控件中的每个输入事件发送此事件。
target
:执行输入的元素。
previousData
:以前的数据。
newData
:新数据。
实现 IKeyboardEvent
的事件。
用户按下键盘上的键时发送的事件。
target
:具有键盘焦点的元素。如果没有元素具有键盘焦点,则为面板的根元素。
用户松开键盘上的键时发送的事件。
target
:具有键盘焦点的元素。如果没有元素具有键盘焦点,则为面板的根元素。
实现 IKeyboardEvent
的事件。
当元素捕获鼠标时,鼠标事件仅发送到进行捕获的元素。无传播。
用户按下其中一个鼠标键时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
用户松开其中一个鼠标键时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
用户移动鼠标时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
用户按下并松开第三个鼠标键时发送的事件。此事件仅用于向后兼容 IMGUI。
用户激活鼠标滚轮时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
鼠标进入窗口时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则是光标下最上层的可选元素。
鼠标离开窗口时发送的事件。
target
:如果一个元素接受了鼠标捕获,此元素便是捕获鼠标的元素。否则为 null,因为光标不在元素上方。
鼠标进入元素或其后代之一时发送的事件。此事件与 MouseOverEvent
的不同之处在于,此事件将发送到鼠标进入的每个元素。此事件不会传播。
target
:鼠标光标下的元素或其后代之一。
鼠标离开元素或其后代之一时发送的事件。此事件与 MouseOutEvent
的不同之处在于,此事件将发送到鼠标退出的每个元素。此事件不会传播。
target
:刚被鼠标光标退出或后代之一被鼠标光标退出的元素。
鼠标进入元素时发送的事件。此事件与 MouseEnterEvent
的不同之处在于,此事件仅发送到鼠标进入的元素。.此事件不会传播。
target
:现在位于鼠标光标下的元素。
鼠标离开元素时发送的事件。此事件与 MouseLeaveEvent
的不同之处在于,此事件仅发送到鼠标已退出的元素并会传播。
target
:鼠标光标刚退出的元素。
当需要使用菜单项填充上下文菜单时由 ContextualMenuManager
发送的事件。
target
:要构建上下文菜单的元素。
在元素附加到 IPanel
后立即发送的事件。由于
面板的设置是递归的,因此元素的所有后代也会
接收该事件。
target
:要附加到面板的元素。
在元素与 IPanel
分离之前发送的事件。由于
面板的设置是递归的,因此元素的所有后代也会
接收该事件。
target
:要从面板分离的元素。
在显示工具提示之前发送的事件。处理程序应该设置 TooltipEvent.tooltip
字符串和 TooltipEvent.rect
。
target
:需要显示工具提示的元素。
用于封装 IMGUI 特有事件的事件。