Поделиться через


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

См. также

Ссылки

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

Основные понятия

Макросы и глобальные объекты MFC