ON_EVENT_RANGE
ID の連続した範囲内のコントロール ID を持つすべての OLE コントロールによって発生したイベントのイベント ハンドラー関数を定義するに ON_EVENT_RANGE のマクロを使用します。
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_ の定数の値の領域で区切ったリストです。領域 (ないカンマ)で区切られたこれらの値の一つ以上が、関数のパラメーター リストを指定します。次に例を示します。
VTS_I2 VTS_BOOL
短整数が BOOLに続く含めるリストを指定します。
VTS_ の定数の一覧については、 EVENT_CUSTOMを参照してください。
使用例
次の例は、 3 種類のコントロール ( IDC_MYCTRL3してIDC_MYCTRL1 )に実装するイベント ハンドラーを、 MouseDown イベントに示します。イベント ハンドラー関数、 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