ON_EVENT_RANGE
Используйте макрос ON_EVENT_RANGE для определения функций обработчика событий для события увольнянного любым элементом управления OLE, идентификатор элемента управления в представляет собой непрерывный диапазон идентификаторов.
ON_EVENT_RANGE(theClass, idFirst, idLast, dispid, pfnHandler, vtsParams )
Параметры
theClass
Класс, к которому принадлежит данное сопоставление приемника событий.idFirst
Идентификатор элемента управления первого элемента управления OLE диапазона.idLast
Идентификатор элемента управления последнего элемента управления OLE диапазона.dispid
Идентификатор события обработки создавший элементом управления.pfnHandler
Является указателем на функцию-член, который обрабатывает событие. Эта функция должна иметь тип возвращаемого значения bool, первый параметр типа uint (для идентификатора элемента управления), и дополнительные типы параметров, которые соответствуют параметрам события (см. vtsParams). Функция должна возвращать TRUE, чтобы указать, что событие было обработано; в противном случае — значение ЛОЖЬ.vtsParams
Последовательность констант, VTS_ определяет типы параметров для события. Первая константа должна быть типа VTS_I4 для идентификатора элемента управления. Эти же константы, используемые в записях схемы подготовки к сообщению, например DISP_FUNCTION.
Заметки
Аргумент vtsParams является это список значений констант из VTS_. Одно или несколько из этих значений, разделенных пробелами (не запятыми) определяют список параметров функции. Примеры.
VTS_I2 VTS_BOOL
определяет список, содержащий короткое целое число, bool.
Для списка константы VTS_ см. в разделе EVENT_CUSTOM.
Пример
В следующем примере демонстрируется обработчик событий для события, MouseDown, реализованный для 3 элементов управления (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