事件 |
类型 |
描述 |
public: |
|
|
OnGesture |
TGestureEvent |
typedef void __fastcall (__closure *TGestureEvent)(System::TObject* Sender, const TGestureEventInfo &EventInfo, bool &Handled);
触摸屏手势事件。使用 Touch 属性的 TTouchManager 管理手势。
如果处理了手势,把 Handled 参数设为 true 阻止继续执行默认处理。
如果控件没有关联 OnGesture 事件,或者这个事件没有做处理 (Handled 参数为 false),会调用 DoGesture 方法进行处理。 |
protected: |
|
|
OnCanResize |
TCanResizeEvent |
typedef void __fastcall (__closure *TCanResizeEvent)(System::TObject* Sender, int &NewWidth, int &NewHeight, bool &Resize);
在改变大小之前产生的事件。请参考 CanResize 方法。
参数 NewWidth 和 NewHeight 是控件即将改变为这个新的宽度和高度,CanResize 为是否允许改变大小。如果认为新的宽度和高度合理,CanResize 参数返回 true,如果认为新的宽度和高度不合理,可以修改为合理的值,CanResize 参数返回 true 允许改变大小,如果拒绝改变大小,参数 CanResize 返回 false。 |
OnClick |
TNotifyEvent |
typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender);
控件的点击事件,控件用鼠标点击,或者键盘的空格或回车键,还有快捷键等,都可能会产生这个事件,请参考 Click 方法。 |
OnConstrainedResize |
TConstrainedResizeEvent |
typedef void __fastcall (__closure *TConstrainedResizeEvent)(System::TObject* Sender, int &MinWidth, int &MinHeight, int &MaxWidth, int &MaxHeight);
如果 Constraints 属性包含不等于 0 的值,当控件改变大小的时候会产生 OnConstrainedResize 事件。请参考 ConstrainedResize 方法。 |
OnContextPopup |
TContextPopupEvent |
typedef void __fastcall (__closure *TContextPopupEvent)(System::TObject* Sender, const System::Types::TPoint &MousePos, bool &Handled);
当控件的弹出菜单弹出的时候,产生 OnContextPopup 事件。
如果用鼠标右键点击弹出这个菜单,参数 MousePos 是鼠标点击的位置的坐标,如果是通过按键盘按键弹出的菜单,MousePos 的坐标为 (-1, -1)。如果在这个函数里面处理了这个事件,不希望调用默认的处理,Handled 参数需要返回 true,如果返回 false,这个函数结束时会调用默认的处理。请参考 DoContextPopup 方法。 |
OnDblClick |
TNotifyEvent |
typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender);
双击鼠标会产生这个事件,请参考
DblClick 方法。 |
OnDragDrop |
TDragDropEvent |
typedef void __fastcall (__closure *TDragDropEvent)(System::TObject* Sender, System::TObject* Source, int X, int Y);
把其他控件拖放到这个控件里面的时候产生这个事件。
参数
Source 是正在被拖动的控件,参数 X 和 Y 是控件放在这个坐标了 (鼠标位置),请参考 DragDrop 方法 |
OnDragOver |
TDragOverEvent |
typedef void __fastcall (__closure *TDragOverEvent)(System::TObject* Sender, System::TObject* Source, int X, int Y, System::Uitypes::TDragState State, bool &Accept);
在拖拽的时候会产生这个事件,请参考 TDragState 类型和 DragOver 方法。
参数
Source 是被拖拽的控件,State 是拖拽的状态,X 和 Y 是拖拽时鼠标的位置,如果可以接受把 Source 放在这里,需要把 Accept 参数设为 true,如果不接受把 Source 放在这里,需要把 Accept 参数设为 false。 |
OnEndDock |
TEndDragEvent |
typedef void __fastcall (__closure *TEndDragEvent)(System::TObject* Sender, System::TObject* Target, int X, int Y);
当控件结束停靠的时候,会产生 OnEndDock 事件,请参考 DoEndDock 方法。
参数 Target 为停靠的目标,X 和 Y 为停靠位置的屏幕坐标。 |
OnEndDrag |
TEndDragEvent |
typedef void __fastcall (__closure *TEndDragEvent)(System::TObject* Sender, System::TObject* Target, int X, int Y);
当拖拽结束的时候会产生 OnEndDrag 事件,请参考 DoEndDrag 方法。
参数 Target 为拖拽的目标,X 和 Y 为停靠位置的屏幕坐标。 |
OnMouseActivate |
TMouseActivateEvent |
typedef void __fastcall (__closure *TMouseActivateEvent)(System::TObject* Sender, System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y, int HitTest, System::Uitypes::TMouseActivate &MouseActivate);
鼠标点击激活窗口会产生这个事件,请参考 TMouseActivate 类型和 MouseActivate 方法。
参数:Button 点击了鼠标的按钮;Shift:当点击鼠标按钮的时候,组合键的状态;X 和 Y:点击鼠标时的鼠标位置;HitTest:鼠标点击的位置,从 WM_NCHITTEST 消息获取的值。
返回值:MouseActivate 参数返回如何处理鼠标点击 (激活窗口) |
OnMouseDown |
TMouseEvent |
typedef void __fastcall (__closure *TMouseEvent)(System::TObject* Sender, System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y);
当鼠标按钮点击了控件会产生这个事件。这个事件响应 Windows 消息:WM_LBUTTONDOWN, WM_MBUTTONDOWN, WM_RBUTTONDOWN。请参考 MouseDown 方法。
参数 Button 为点击的鼠标按钮,Shift 为组合键的状态,X 和 Y 为鼠标位置。 |
OnMouseEnter |
TNotifyEvent |
typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender);
鼠标移动到控件里面产生的事件。 |
OnMouseLeave |
TNotifyEvent |
typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender);
鼠标移动到控件外面产生的事件。 |
OnMouseMove |
TMouseMoveEvent |
typedef void __fastcall (__closure *TMouseMoveEvent)(System::TObject* Sender, System::Classes::TShiftState Shift, int X, int Y);
当鼠标在控件里面移动的时候会产生 OnMouseMove 事件,这个事件响应 Windows 消息:WM_MOUSEMOVE。请参考 MouseMove 方法。参数 X 和 Y 为鼠标的位置。 |
OnMouseUp |
TMouseEvent |
typedef void __fastcall (__closure *TMouseEvent)(System::TObject* Sender, System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift, int X, int Y);
鼠标按键抬起的时候产生这个事件。这个事件响应 Windows 消息:WM_LBUTTONUP, WM_MBUTTONUP, WM_RBUTTONUP。请参考 MouseUp 方法。
参数 Button 为动作的按钮,Shift 为组合键的状态,X 和 Y 为鼠标的位置。 |
OnMouseWheel |
TMouseWheelEvent |
typedef void __fastcall (__closure *TMouseWheelEvent)(System::TObject* Sender, System::Classes::TShiftState Shift, int WheelDelta, const System::Types::TPoint &MousePos, bool &Handled);
鼠标滚轮事件,当拨动鼠标滚轮的时候,会产生这个事件。如果 OnMouseWheel 事件处理了滚轮事件,Handled 参数会返回 true,否则会根据滚轮拨动的方向,产生 OnMouseWheelUp 或 OnMouseWheelDown 事件。请参考 DoMouseWheel、 DoMouseWheelDown 和 DoMouseWheelUp 方法。 |
OnMouseWheelDown |
TMouseWheelUpDownEvent |
typedef void __fastcall (__closure *TMouseWheelUpDownEvent)(System::TObject* Sender, System::Classes::TShiftState Shift, const System::Types::TPoint &MousePos, bool &Handled);
鼠标滚轮向下拨动,会触发和执行 OnMouseWheelDown 事件,请参考 DoMouseWheel 方法。 |
OnMouseWheelUp |
TMouseWheelUpDownEvent |
typedef void __fastcall (__closure *TMouseWheelUpDownEvent)(System::TObject* Sender, System::Classes::TShiftState Shift, const System::Types::TPoint &MousePos, bool &Handled);
鼠标滚轮向上拨动,会触发和执行 OnMouseWheelUp 事件,请参考 DoMouseWheel 方法。 |
OnResize |
TNotifyEvent |
typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender);
当控件的大小 (宽度或高度) 发生变化时,会产生这个事件。 |
OnStartDock |
TStartDockEvent |
typedef void __fastcall (__closure *TStartDockEvent)(System::TObject* Sender, TDragDockObject* &DragObject);
当控件开始停靠的时候产生这个事件,请参考 DoStartDock 方法。
在这个事件里面,可以创建一个 TDragDockObjectEx 对象给 DragObject 参数,这是拖拽时的显示框外观。如果创建的是 TDragDockObjectEx 对象,当拖拽操作结束之后,不需要销毁这个对象,如果创建的是 TDragDockObject 对象,在拖拽操作结束之后,必须进行销毁。如果给 DragObject 的是一个 NULL 值,控件会自动创建 TDragDockObject 对象。 |
OnStartDrag |
TStartDragEvent |
typedef void __fastcall (__closure *TStartDragEvent)(System::TObject* Sender, TDragObject* &DragObject);
当拖拽开始的时候产生这个事件,请参考 DoStartDrag 方法。
在这个事件里面,可以创建一个 TDragControlObjectEx 对象给 DragObject 参数,这是拖拽时的显示框外观。如果创建的是一个 TDragControlObjectEx 对象,在拖拽操作结束之后,不需要销毁,如果创建的是 TDragControlObject 对象,在拖拽操作结束之后,必须进行销毁。如果给 DragObject 一个 NULL 值,控件会自动创建 TDragControlObject 对象。 |
TComponent:: |
|
从 TComponent 继承过来的 |
OnGetDeltaStreams |
TGetDeltaStreamsEvent |
typedef void __fastcall (__closure *TGetDeltaStreamsEvent)(System::TObject* Sender, TGetStreamProc Proc, bool &Handled);
这个事件是从 TComponent 继承过来的,控件内部使用的事件。
请参考 TComponent 的 OnGetDeltaStreams 事件。 |