点击或拖拽改变大小

SplitWindow.Dispatch 方法

X#
当窗口具有焦点时,为系统内部事件提供分发器;将各种事件路由到它们适当的事件处理程序。

命名空间:  VO
程序集:  VOGUIClasses (在 VOGUIClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD Dispatch(
	oEvent
) AS USUAL CLIPPER
查看代码

参数

oEvent (Optional)
类型:__Usual
要处理的事件。

返回值

类型:__Usual
一个表示事件处理程序的数字值,用于处理事件。这通常是 EventReturnValue 字段的值。
备注
窗口会不断地接收来自用户和系统的事件。每个窗口只会接收与其相关的事件。
对于每个生成的事件,会发生两件事:
1.事件根据触发事件的操作转换为特定的 Event 对象(例如,ExposeEvent 或 MouseEvent)。
2. 调用适当的事件处理程序,并将这个类型化的Event对象传递给它。
提示 提示:
如果您想为底层窗口过程设置特定的返回值,您必须更改窗口对象的 EventReturnValue 变量。
如果您想处理其他事件(例如,定时器事件),您需要编写自己的 Dispatch() 方法。 在编写自定义的 Dispatch() 方法时,应遵循以下准则: 1. 对于正在使用的操作类型,应该对事件类型进行子类化。
2. 在派生对象中添加一个事件处理程序函数。(当接收到事件时,应该调用此事件处理程序。)
3. 通常,此事件处理程序的实现应该调用 Default()。这保持了与基类相同的行为,但也允许其他类为您的新事件类型提供有用的事件处理程序,从而允许您为其他类提供一个框架。 在这些情况下,应该在否则部分调用基类的 Dispatch()方法,以处理未被自定义分发器处理的接收到的事件。
例如:
X#
1RETURN SUPER:Dispatch(<oEvent>)
现在,您可以在自己的窗口类上编写一个 DispatchUnknown( oEvent )方法,以处理窗口未处理的消息。 当存在此消息时,它将在 Window 类中的 Dispatch() 方法内部自动调用。
示例
X#
1METHOD DispatchUnknown(oEvent) CLASS MyCustomWindow
2    // Your code
3    // If you need the default window
4    // procedure call SELF:Default(oEvent)
5    // Assign the event return value to SELF:EventReturnValue,
6    // the default value is 0l.
7    SELF:EventReturnValue := 1l
参见