ON_EVENT_RANGE
Verwenden Sie das ON_EVENT_RANGE Makro, um eine Ereignishandlerfunktion für ein Ereignis definieren, die von jedem OLE-Steuerelement ausgelöst wird, das eine Steuerelement-ID in einem zusammenhängenden Bereich von ID verfügt.
ON_EVENT_RANGE(theClass, idFirst, idLast, dispid, pfnHandler, vtsParams )
Parameter
theClass
Die Klasse, zu der diese Ereignissenkenzuordnung gehört.idFirst
Die Steuerelement-ID des ersten OLE-Steuerelements im Bereich.idLast
Die Steuerelement-ID des letzten OLE-Steuerelements im Bereich.dispid
Der Dispatchbezeichner des Ereignisses ausgelöst durch das Steuerelement.pfnHandler
Zeiger auf eine Memberfunktion, die Ereignisbehandlung.Diese Funktion sollte einen BOOL Rückgabetyp, einen ersten Parameter vom Typ UINT (für die Steuerelement-ID) und zusätzliche Parametertypen verfügen, die die Parameter des Ereignisses entsprechen (siehe vtsParams).Die Funktion darf TRUE zurückgeben, das Ereignis behandelt wurde angegeben; andernfalls FALSE.vtsParams
Eine Sequenz von VTS_ Konstanten, die die Typen der Parameter für das Ereignis angibt.Die erste Konstante muss vom Typ VTS_I4, für die Steuer-Identifikation seinDies sind die gleichen Konstanten, die in den Dispatchzuordnungs Einträgen wie DISP_FUNCTION verwendet werden.
Hinweise
Das vtsParams-Argument ist eine durch Leerzeichen getrennte Liste von Werten aus VTS_ Konstanten.Eine oder mehrere dieser Werte, die durch Leerzeichen getrennt werden (ohne Kommas) gibt die Parameterliste der Funktion an.Beispiele:
VTS_I2 VTS_BOOL
gibt eine Liste veranschaulicht, die eine kurze ganze Zahl, die von BOOL folgt.
Eine Liste der VTS_ Konstanten finden Sie unter EVENT_CUSTOM.
Beispiel
Im folgenden Beispiel wird ein Ereignishandler für das MouseDown-Ereignis implementiert, durch IDC_MYCTRL1 für drei Steuerelemente ( IDC_MYCTRL3).Die Ereignishandlerfunktion, OnRangeMouseDown, wird in der Headerdatei der Dialogfeldklasse (z. B.CMyDlg) deklariert:
BOOL OnRangeMouseDown(UINT CtlID, short MouseButton, short Shift,
long x, long y);
Im folgenden Code wird in der Implementierungsdatei der Dialogfeldklasse definiert.
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()
Anforderungen
Header: afxdisp.h