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