Share via


事件對應

每次想要通知它 (例如按鍵、 按一下滑鼠或控制項的狀態變更) 會發生某些動作 (由控制項開發人員) 的容器的控制項時,它呼叫的事件引發函式。 這個函式也會告知控制項容器發出相關的事件已發生的一些重要的動作。

Mfc 程式庫提供了最佳化來引發事件的程式撰寫模型。 在這個模型中,「 事件對應 」 用來指定哪些函式引發的事件,將特定控制項。 事件對應包含一個巨集,每個事件。 比方說,事件對應,會引發股票 Click 事件可能會看起來像這樣:

BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
   EVENT_STOCK_CLICK()
END_EVENT_MAP()

EVENT_STOCK_CLICK 控制項就會引發的 Click 事件,每次偵測到滑鼠按一下內建的巨集表示。 如需其他內建事件的詳細清單,請參閱文章 ActiveX 控制項: 事件。 巨集也可用於表示自訂事件。

雖然事件對應巨集是很重要的您通常不能插入它們直接。 這是因為當 [屬性] 視窗時自動建立事件對應項目在原始程式檔中您用它來將事件引發函式與事件相關聯。 任何的時候您想要編輯或新增一個事件對應項目,您可以使用 [屬性] 視窗。

若要支援事件對應,MFC 會提供下列的巨集:

事件對應宣告,並用於區隔

DECLARE_EVENT_MAP

宣告事件對應用類別中時,將事件對應至事件引發函式 (必須在類別宣告中使用)。

BEGIN_EVENT_MAP

開始事件對應 (必須使用的類別實作中) 的定義。

END_EVENT_MAP

結束事件對應 (必須使用的類別實作中) 的定義。

事件對應巨集

EVENT_CUSTOM

指示哪一個事件引發函式就會引發指定的事件。

EVENT_CUSTOM_ID

指示哪一個事件引發函式就會引發指定的事件,以指定的分派 id。

訊息對應巨集

ON_OLEVERB

表示由 OLE 控制項處理自訂動詞命令。

ON_STDOLEVERB

標準動詞命令對應的 OLE 控制項就會覆寫。

請參閱

概念

MFC 巨集和全域變數