MFC ActiveX コントロール : ストック メソッドの追加
更新 : 2007 年 11 月
ストック メソッドは、COleControl クラスによって既に実装されているという点で、カスタム メソッドとは異なります。たとえば、COleControl には、コントロールの Refresh メソッドをサポートする定義済みのメンバ関数があります。このストック メソッドのディスパッチ マップ エントリは、DISP_STOCKFUNC_REFRESH です。
COleControl は、DoClick と Refresh という 2 つのストック メソッドをサポートしています。コントロールのユーザーが Refresh メソッドを呼び出すと、コントロールの外観がすぐに更新されます。DoClick が呼び出されると、コントロールの Click イベントが発生します。
メソッド |
ディスパッチ マップ エントリ |
説明 |
---|---|---|
DoClick |
DISP_STOCKPROP_DOCLICK( ) |
Click イベントを発生させます。 |
Refresh |
DISP_STOCKPROP_REFRESH( ) |
コントロールの外観をすぐに更新します。 |
メソッドの追加 ウィザードによるストック メソッドの追加
メソッドの追加 ウィザードを使うと、ストック メソッドを簡単に追加できます。次の手順では、MFC ActiveX コントロール ウィザードを使って作成したコントロールに Refresh メソッドを追加します。
メソッドの追加 ウィザードを使って Refresh ストック メソッドを追加するには
コントロールのプロジェクトを読み込みます。
[クラス ビュー] ウィンドウで、コントロールのライブラリ ノードを展開します。
コントロールのインターフェイス ノード (ライブラリ ノードの 2 番目のノード) を右クリックし、ショートカット メニューを開きます。
ショートカット メニューの [追加] をクリックし、[メソッドの追加] をクリックします。
メソッド追加 ウィザードが開きます。
[メソッド名] ボックスの [Refresh] をクリックします。
[完了] をクリックします。
ストック メソッドの追加に伴うメソッド追加 ウィザードによる変更
Refresh ストック メソッドはコントロールの基本クラスによってサポートされるため、メソッド追加 ウィザードがコントロールのクラス宣言を変更することはありません。メソッド追加 ウィザードは、コントロールのディスパッチ マップと .IDL ファイルにメソッドのエントリを追加します。コントロールの実装 (.CPP) ファイル内にあるコントロールのディスパッチ マップには、次の行が追加されます。
DISP_STOCKFUNC_REFRESH()
これにより、コントロールのユーザーが Refresh メソッドを使用できるようになります。
コントロールの .IDL ファイルには、次の行が追加されます。
[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);
この行は、Refresh メソッドに固有の ID 番号を割り当てます。