次の方法で共有


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 ストック メソッドを追加するには

  1. コントロールのプロジェクトを読み込みます。

  2. [クラス ビュー] ウィンドウで、コントロールのライブラリ ノードを展開します。

  3. コントロールのインターフェイス ノード (ライブラリ ノードの 2 番目のノード) を右クリックし、ショートカット メニューを開きます。

  4. ショートカット メニューの [追加] をクリックし、[メソッドの追加] をクリックします。

    メソッド追加 ウィザードが開きます。

  5. [メソッド名] ボックスの [Refresh] をクリックします。

  6. [完了] をクリックします。

ストック メソッドの追加に伴うメソッド追加 ウィザードによる変更

Refresh ストック メソッドはコントロールの基本クラスによってサポートされるため、メソッド追加 ウィザードがコントロールのクラス宣言を変更することはありません。メソッド追加 ウィザードは、コントロールのディスパッチ マップと .IDL ファイルにメソッドのエントリを追加します。コントロールの実装 (.CPP) ファイル内にあるコントロールのディスパッチ マップには、次の行が追加されます。

DISP_STOCKFUNC_REFRESH()

これにより、コントロールのユーザーが Refresh メソッドを使用できるようになります。

コントロールの .IDL ファイルには、次の行が追加されます。

[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);

この行は、Refresh メソッドに固有の ID 番号を割り当てます。

参照

概念

MFC ActiveX コントロール