次の方法で共有


ON_EVENT_RANGE

ON_EVENT_RANGE マクロを使って、連続した ID の範囲内の、コントロール ID を持つ OLE コントロールが発生するイベントのイベント ハンドラー関数を定義します。

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_ 定数。 コントロール ID に対して、最初の定数は、VTS_I4 型である必要があります。 これらは、DISP_FUNCTION のようなディスパッチ マップのエントリで使用される定数と同じです。

解説

引数 vtsParams は、スペースで区切られた VTS_ 定数のリストです。 スペース (コンマではありません) で区切られた 1 つ以上の値は、関数のパラメーターを示します。 次に例を示します

VTS_I2 VTS_BOOL

この例では、short 型の整数とそれに続く BOOL 型の値を持つリストを指定しています。

VTS_ 定数の一覧については、「EVENT_CUSTOM」を参照してください。

使用例

MouseDown イベントのイベント ハンドラーの例を次に示します。3 つのコントロール (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 マクロとグローバル