Freigeben über


ON_EVENT_RANGE

Verwenden Sie das ON_EVENT_RANGE-Makro, um eine Ereignishandlerfunktion für ein Ereignis definiert, das über ein OLE-Steuerelement ausgelöst wird, das eine Steuerelement-ID in einem zusammenhängenden Bereich von IDs hat.

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

Parameter

  • theClass
    Die Klasse, 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
    Die Dispatch-ID des Ereignisses löste die durch das Steuerelement aus.

  • pfnHandler
    Zeiger auf eine Memberfunktion, die das Ereignis behandelt. Diese Funktion sollte ein BOOL Rückgabetyp, einen ersten Parameter des Typs 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, um das Ereignis angeben wurde behandelt; andernfalls FALSE.

  • vtsParams
    Eine Sequenz von VTS_ Konstanten, die den Typen der Parameter zum Ereignis angibt. Die erste Konstante muss vom Typ VTS_I4, für die Steuerelement-ID sein Dies sind die gleichen Konstanten, die in den Dispatchzuordnungseinträgen wie DISP_FUNCTION verwendet werden.

Hinweise

Das Argument vtsParams ist eine durch Leerzeichen getrennte Liste von Werten aus den VTS_ Konstanten. Eine oder mehrere dieser Werte, die durch Leerzeichen getrennt werden (nicht durch) gibt der Parameterliste der Funktion an. Beispiel:

VTS_I2 VTS_BOOL

gibt eine Liste, die eine kurze ganze Zahl enthält, die von BOOL folgt.

Eine Liste der VTS_ Konstanten, finden Sie unter EVENT_CUSTOM.

Beispiel

Das folgende Beispiel zeigt einen Ereignishandler, zum MouseDown-Ereignis, implementiert für drei Steuerelemente (IDC_MYCTRL1 von IDC_MYCTRL3). Die Ereignishandlerfunktion, OnRangeMouseDown, wird in der Headerdatei der Dialogfeldklasse (CMyDlg) z deklariert:

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

Der folgende 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, globale Funktionen und globale Variablen