Compartilhar via


ON_EVENT_RANGE

Use a macro de ON_EVENT_RANGE para definir uma função de manipulador de eventos para um evento acionado por qualquer controlador OLE que tem uma identificação de controle em um intervalo contíguo de IDs.

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

Parâmetros

  • theClass
    A classe ao qual esse mapa de coletor de eventos pertence.

  • idFirst
    A ID de controle do primeiro controlador OLE no intervalo.

  • idLast
    A ID de controle do controlador OLE o mais recente no intervalo.

  • dispid
    A ID da remessa de evento disparado pelo controle.

  • pfnHandler
    Ponteiro para uma função de membro que manipula o evento. Essa função deve ter um tipo de retorno de BOOL , um primeiro parâmetro de tipo UINT (para a ID do controle), e os tipos de parâmetro adicionais que correspondem aos parâmetros do evento (consulte vtsParams). A função deve retornar Verdadeiro para indicar que o evento identificado; esteve se não Falso.

  • vtsParams
    Uma sequência de constantes de VTS_ que especifica os tipos de parâmetros para o evento. A primeira constante deve ser do tipo VTS_I4, para a ID de controle Essas são as mesmas constantes são usadas em entradas do mapa de distribuição como DISP_FUNCTION.

Comentários

O argumento de vtsParams é uma lista separada do espaço de valores de constantes de VTS_ . Um ou mais desses valores separados por espaços (vírgula) não especificam a lista de parâmetros de função. Por exemplo:

VTS_I2 VTS_BOOL

especifica uma lista que contém um valor inteiro seguido por BOOLcurto.

Para obter uma lista das constantes de VTS_ , consulte EVENT_CUSTOM.

Exemplo

O exemplo a seguir demonstra um manipulador de eventos, para o evento de MouseDown, implementado para três controles (IDC_MYCTRL1 com IDC_MYCTRL3). A função do manipulador de eventos, OnRangeMouseDown, é declarada no arquivo de cabeçalho da classe da caixa de diálogo (CMyDlg) como:

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

O código a seguir é definido no arquivo de implementação da classe da caixa 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

Header: afxdisp.h

Consulte também

Referência

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

Conceitos

Macros e globais MFC