一般的な方法を追加
記事のディレクトリ
序文
备注:本文所介绍方法,vs2017已经不支持,仅是因教程连贯需要,vs2017以前的版本如vs2015都是支持的,如有需要的同学可以继续往下看。
それはクラスのCOleControlによって実装されたことを除いて、一般的な方法とカスタムメソッド。例えば、のCOleControlは、コントロールの更新方法をサポートする事前定義されたメンバ関数を含んでいます。この棚卸方法でディスパッチマップエントリDISP_STOCKFUNC_REFRESHです。
DoClickとリフレッシュ:のCOleControlは、2つの一般的な方法をサポートしています。すぐにコントロールの外観を更新するために呼び出された更新のユーザーコントロールは、コントロールのClickイベントをトリガするDoClickを呼び出します。
方法 | ディスパッチマップエントリ | 注記 |
---|---|---|
DoClick | DISP_STOCKPROP_DOCLICK() | イベントがトリガされクリックしてください。 |
リフレッシュ | DISP_STOCKPROP_REFRESH() | コントロールの外観が直ちに更新されます。 |
一般的なメソッドを追加するために「追加メソッドウィザード」を使用します
一般的に使用されるメソッドを追加するために「追加メソッドウィザード」を使用して、非常に簡単です。次の手順では、コントロールにRefreshメソッドを追加するために、MFC ActiveXコントロールウィザードを使用する方法を示して作成されています。
「メソッドの追加ウィザード」は、一般に、Refreshメソッドを追加使用
-
プロジェクトのコントロールをロードします。
-
「クラスビュー」では、ライブラリノードコントロールを展開します。
-
ショートカットメニューを開くために、制御インターフェースノード(第2ノードデータベースノード)を右クリックします。
-
ショートカットメニューから、「追加」をクリックしますクリックして「メソッドを追加します。」
これは、「メソッドの追加ウィザード」を開きます。
-
「メソッド名」ボックスで、[更新]をクリックします。
-
[完了]をクリックします。
追加ウィザードの方法一般的に使用される機能を変更
在庫Refreshメソッドをサポートするコントロールの基本クラス以来、したがって、「メソッドの追加ウィザード」はどのような方法でコントロールを宣言するために、クラスを変更することはありません。これは、ディスパッチマップと.IDLファイルコントロールにメソッドのエントリを追加します。その実装ファイル(.cpp)に位置ディスパッチマップコントロールに次の行を追加します。
DISP_STOCKFUNC_REFRESH()
この方法では、最新の情報に更新Refreshメソッドを使用します。
ファイルコントロールを.IDLに次の行を追加します。
[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);
この動作は、特定のID番号を割り当てる方法を更新します。