ActiveX(OCXスピーカー)(VIII)のvs2017開発は、一般的に使用されるメソッドを追加します

クリエイティブコモンズライセンス 著作権:帰属、紙ベースを作成するために他人を許可し、(同じライセンスで元のライセンス契約に基づいて用紙配布する必要がありますクリエイティブコモンズ

一般的な方法を追加

序文

备注:本文所介绍方法,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番号を割り当てる方法を更新します。

おすすめ

転載: blog.csdn.net/y601500359/article/details/92830857