共用方式為


ON_EVENT_RANGE

使用 ON_EVENT_RANGE 巨集定義所有 OLE automation 控制項引發的事件建立事件處理常式會在 ID 內的連續範圍的控制項 ID。

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

參數

  • theClass
    這個事件接收對應所屬的類別。

  • idFirst
    第一個 OLE automation 控制項範圍中的控制項 ID 。

  • idLast
    最後一個 OLE automation 控制項範圍中的控制項 ID 。

  • dispid
    控制項引發的事件之分派 ID。

  • pfnHandler
    指向處理事件的成員函式之指標。 這個函式應該具有 BOOL 傳回型別、型別 UINT 第一個參數 (為控制項 ID) 和符合事件的參數其他參數型別 (請參閱 vtsParams)。 函式應該傳回 TRUE 表示事件已經處理;否則傳回 FALSE

  • vtsParams
    指定事件參數型別的 VTS_ 常數序列。 第一個常數必須是控制項 ID. 型別 VTS_I4, 這些是和用在分派對應項目 (如 DISP_FUNCTION) 中相同的常數。

備註

vtsParams 引數是一個以空格分隔的 VTS_ 常數值清單。 空格分隔 (非逗號) 的一或多個值指定此函式的參數清單。 例如:

VTS_I2 VTS_BOOL

指定清單,其包含後面接著 BOOL 的短整數。

如需 VTS_ 常數的清單,請參閱 EVENT_CUSTOM

範例

下列範例將示範事件處理常式, MouseDown 事件中,實作三個控制項 (IDC_MYCTRL1 透過 IDC_MYCTRL3)。 事件處理常式,則為 OnRangeMouseDown,在對話方塊類別 (CMyDlg) 的標頭檔宣告如下:

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

下面的程式碼在對話方塊類別的實作檔中定義。

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

需求

Header: afxdisp.h

請參閱

參考

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

概念

MFC 巨集和全域