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

Siehe auch

Referenz

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

Konzepte

MFC-Makros und -globale Werte