ON_EVENT_RANGE

Utilizzare la macro di ON_EVENT_RANGE per definire una funzione del gestore eventi per un evento generato da un controllo OLE con un ID di controllo all'interno di un intervallo contiguo degli ID.

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

Parametri

  • theClass
    La classe a cui questa mappa del sink di eventi appartiene.

  • idFirst
    ID del controllo del primo controllo OLE nell'intervallo.

  • idLast
    ID del controllo dell'ultimo controllo OLE nell'intervallo.

  • dispid
    L'ID di invio dell'evento generato dal controllo.

  • pfnHandler
    Puntatore a una funzione membro che gestisce l'evento.La funzione deve avere un tipo restituito di BOOL , un primo parametro di tipo UINT (per l'ID del controllo) e tipi di parametri aggiuntivi che corrispondono ai parametri dell'evento (vedere vtsParams).La funzione deve restituire TRUE per indicare che l'evento è stato gestito; in caso contrario FALSE.

  • vtsParams
    Una sequenza di costanti di VTS_ che specifica i tipi dei parametri per l'evento.La prima costante deve essere di tipo VTS_I4, per l'id del controlloSi tratta delle stesse costanti utilizzate nelle voci della mappa di invio come DISP_FUNCTION.

Note

L'argomento di vtsParams è un elenco spazio-separato dei valori delle costanti di VTS_ .Uno o più di questi valori separati da spazi (non virgole specificano l'elenco di parametri di funzione.Di seguito è riportato un esempio:

VTS_I2 VTS_BOOL

specifica un elenco contenente un valore short Integer seguito da BOOL.

Per un elenco delle costanti di VTS_ , vedere EVENT_CUSTOM.

Esempio

Nell'esempio seguente viene illustrato un gestore eventi, dell'evento MouseDown, implementato per tre controlli (IDC_MYCTRL1 con IDC_MYCTRL3).La funzione del gestore eventi, OnRangeMouseDown, viene dichiarata nel file di intestazione della classe della finestra di dialogo (CMyDlg) come:

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

Il codice riportato di seguito viene definito nel file di implementazione della classe della finestra di dialogo.

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

Requisiti

Header: afxdisp.h

Vedere anche

Riferimenti

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

Concetti

Macro MFC e Globals