MFC ActiveX コントロール : ストック メソッドの追加
ストック メソッドは、COleControl クラスによって既に実装されているという点で、カスタム メソッドとは異なります。 たとえば、COleControl には、コントロールの Refresh メソッドをサポートする定義済みのメンバー関数があります。 このストック メソッドのディスパッチ マップ エントリは、DISP_STOCKFUNC_REFRESH です。
COleControl2 つのストック メソッドをサポートします。DoClick と更新。 コントロールのユーザーが Refresh メソッドを呼び出すと、コントロールの外観がすぐに更新されます。DoClick が呼び出されると、コントロールの Click イベントが発生します。
方法 |
ディスパッチ マップ エントリ |
コメント |
---|---|---|
DoClick |
DISP_STOCKPROP_DOCLICK( ) |
Click イベントを発生させます。 |
最新の情報に更新 |
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 番号を割り当てます。