Compartir a través de


ON_EVENT_RANGE

Utilice la macro de ON_EVENT_RANGE para definir una función de controlador de eventos para un evento desencadenado por cualquier control OLE que tiene un identificador de control dentro de un intervalo contiguo de id.

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

Parámetros

  • theClass
    La clase a la que este mapa de receptor de eventos pertenece.

  • idFirst
    El identificador del control del primer control OLE en el intervalo.

  • idLast
    El identificador de control OLE pasado en el intervalo.

  • dispid
    El identificador de envío de evento desencadenado por el control.

  • pfnHandler
    Puntero a una función miembro que controla el evento. Esta función debe tener un tipo de valor devuelto de bool , el primer parámetro de UINT tipo (para el identificador del control), y los tipos de parámetros adicionales que coinciden con los parámetros del evento (vea vtsParams). La función debe devolver VERDADERO para indicar que se controló el evento; si no FALSE.

  • vtsParams
    Una secuencia de constantes de VTS_ que especifica los tipos de parámetros del evento. La primera constante debe ser de VTS_I4tipo, para el identificador de control Son las mismas constantes que se utilizan en entradas del mapa de envío como DISP_FUNCTION.

Comentarios

El argumento de vtsParams es una lista espacio- independiente de las constantes de VTS_ . Uno o más de estos valores separados por espacios (no comas) especifican la lista de parámetros de la función. Por ejemplo:

VTS_I2 VTS_BOOL

especifica una lista que contiene un entero short seguido de bool.

Para obtener una lista de las constantes de VTS_ , vea EVENT_CUSTOM.

Ejemplo

El ejemplo siguiente muestra un controlador de eventos, para el evento MouseDown, implementado para tres controles (IDC_MYCTRL1 con IDC_MYCTRL3). La función de controlador de eventos, OnRangeMouseDown, se declara en el archivo de encabezado de la clase de diálogo (CMyDlg) como:

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

El código siguiente se define en el archivo de implementación de la clase de diálogo.

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

Requisitos

Encabezado: afxdisp.h

Vea también

Referencia

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

Conceptos

Macros y variables globales de MFC