stock 方法與自定義方法不同,因為它已由 COleControl 類別實作。 例如, COleControl 包含預先定義的成員函式,可支援控件的 Refresh 方法。 此庫存方法的分派地圖項目是DISP_STOCKFUNC_REFRESH。
這很重要
ActiveX 是不應該用於新開發的舊版技術。 如需取代 ActiveX 的新式技術詳細資訊,請參閱 ActiveX 控件。
COleControl 支援兩種預設方法:DoClick 和 Refresh。 控制項使用者會調用 Refresh 來立即更新控制項的外觀,而調用 DoClick 方法則會觸發控制項的 Click 事件。
| 方法 | 分派映射條目 | 評論 |
|---|---|---|
DoClick |
DISP_STOCKPROP_DOCLICK( ) | 引發 Click 事件。 |
Refresh |
DISP_STOCKPROP_REFRESH() | 立即更新控制件的外觀。 |
使用 [新增方法精靈] 新增 Stock 方法
使用 [ 新增方法精靈] 來新增庫存方法很簡單。 下列程式示範如何將 Refresh 方法新增至使用 MFC ActiveX 控件精靈建立的控件。
使用新增方法精靈新增庫存重新整理方法
載入您的控件專案。
在 [類別檢視視圖] 中,展開控制項的程式庫節點。
以滑鼠右鍵單擊控件的介面節點(連結庫節點的第二個節點),以開啟快捷方式功能表。
從快捷方式功能表中,按兩下 [ 新增 ],然後按下 [ 新增方法]。
這會開啟 [新增方法精靈]。
在 [ 方法名稱] 方塊中,按兩下 [ 重新整理]。
按一下完成。
新增「方法精靈」以變更庫存方法
因為控件的基類支援 stock Refresh 方法, [新增方法精靈 ] 不會以任何方式變更控件的類別宣告。 它會將方法的條目新增至控制項的調度表和其 .IDL 檔案。 下列這一行會新增至控制項的派發地圖,位於其實作 (.CPP) 檔案中:
DISP_STOCKFUNC_REFRESH()
這可讓控件的使用者使用 Refresh 方法。
下列這一行會新增至 控制件的 。IDL 檔案:
[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);
這一行會指派 Refresh 方法特定的標識碼。