ON_EVENT_RANGE

使用ON_EVENT_RANGE巨集來定義事件處理常式函式,請在事件引發任何 OLE 控制項,具有連續之 Id 範圍中的控制項 ID。

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

參數

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

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

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

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

  • pfnHandler
    處理事件的成員函式指標。這個函式應該有 BOOL 傳回型別,第一個參數型別的 UINT (適用於控制項 ID),以及額外的參數符合事件參數的型別 (請參閱vtsParams)。此函式應該會傳回 ,則為 TRUE ,表示已處理的事件。 否則 ,則為 FALSE

  • vtsParams
    一系列的 VTS_ 的常數,指定事件的參數型別。第一個常數必須是型別 VTS_I4,為控制項 id。這些都是相同的常數,例如用於分派對應項目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()

需求

標頭: afxdisp.h

請參閱

參考

ON_EVENT

ON_PROPNOTIFY

ON_PROPNOTIFY_RANGE

概念

MFC 巨集和全域變數