ON_EVENT_RANGE

使用 ON_EVENT_RANGE 宏定义任何 OLE 控件激发的事件的事件处理程序函数在 ID 中的一个连续范围的控件 ID。

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()

要求

Header: afxdisp.h

请参见

参考

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

概念

MFC宏和Globals