ON_EVENT_RANGE

使用 ON_EVENT_RANGE 宏将为具有一个连续范围的控件 ID 值的 OLE 控件激发的事件定义事件处理程序。

ON_EVENT_RANGE(theClass, idFirst, idLast, dispid, pfnHandler, vtsParams )

参数

  • theClass
    此事件接收器是映射的类。

  • idFirst
    该范围内,第一个 OLE 控件的控件 ID。

  • idLast
    该范围内,最后一个 OLE 控件的控件 ID。

  • dispid
    由控件激发的事件的调度 ID。

  • pfnHandler
    为事件处理的成员函数的指针。 此函数应该有 BOOL 返回类型、第一个参数为UINT(对于控件的 ID )和匹配事件参数的附加参数类型 (请参见 vtsParams)。 函数应返回 TRUE 事件;指示是否已处理为 FALSE

  • vtsParams
    为事件指定参数类型 VTS_ 常数的序列。 第一个常数应是控件 ID 的 VTS_I4类型,. 这些是用于调度映射项 (如 DISP_FUNCTION) 相同的常数。

备注

vtsParams 该参数属于值组成的空格分隔列表。VTS_ 常数的。 空格分隔的一个或多个这些值 (不是逗号) 指定函数的参数列表。 例如:

VTS_I2 VTS_BOOL

指定包含短的整数的列表后调用 BOOL

有关 VTS_ 常数的列表,请参见 EVENT_CUSTOM

示例

下面的示例演示事件处理程序,MouseDown 事件实现这三个控件 (IDC_MYCTRL1 通过 IDC_MYCTRL3)。 事件处理函数,OnRangeMouseDown,在对话框类(CMyDlg) 的头文件中声明如下:

BOOL OnRangeMouseDown(UINT CtlID, short MouseButton, short Shift,
   long x, long y);

下面的代码在对话框类的实现文件中定义。

BEGIN_EVENTSINK_MAP(CMyDlg, CDialog)
   ON_EVENT_RANGE(CMyDlg, IDC_MYCTRL1, IDC_MYCTRL3, -605, OnRangeMouseDown,
      VTS_I4 VTS_I2 VTS_I2 VTS_I4 VTS_I4)
END_EVENTSINK_MAP()

要求

"头部:" afxdisp.h

请参见

参考

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

概念

MFC 宏和全局函数