次の方法で共有


MFC ActiveX コントロール : 最適化

この技術情報は方がパフォーマンスの ActiveX コントロールを最適化するために使用できる手法について説明します。

トピック アクティブ化をオフにするときに表示されるオプションアクティブでないとマウス対話の提供 がアクティブ化されるまでペインを作成しないコントロールについて説明します。操作する場合でも、このトピック ウィンドウなしのアクティベーションの提供 は、ウィンドウを作成しないコントロールについて説明します。

ウィンドウに OLE オブジェクトの 2 種類の主要な短所があります: これらはアクティブとコントロールのインスタンス化と表示に大きなオーバーヘッドが追加されるとオブジェクトが透過的メソッドまたはがオンであることを防ぎます。通常、ペインを作成するには、コントロールの作成時刻の 60 % かかります。一つの共有ペイン (通常はコンテナー)とディスパッチ コードにより、コントロールでは、パフォーマンスを失わずに同じペインのサービスを、一般に表示されます。ウィンドウをオブジェクトのほとんど不要なオーバーヘッドを使用するようにしてください。

一部の最適化は必ずしもコントロールが特定のコンテナーで使用されるときのパフォーマンスを向上しません。たとえば、 1996 以前にリリースされたコンテナーはウィンドウなしのアクティベーションをサポートしていないため、この機能を実行することによって、古いコンテナーの利点を提供しません。ただし、ほとんどのコンテナー サポートの永続性。したがって、コントロールの永続性コードを最適化することは、任意のコンテナーのパフォーマンスが向上します。コントロールは、コンテナーの 1 種類の特定の型で使用する場合、最適化はそのコンテナーでサポートされる調査する必要があります。ただし、通常は多くのコンテナーに不慣れできると特定のコントロールに適用される機能するコントロールを保証するために、これらの手法をできるだけ実行することをお勧めします。

コントロール設定 のページの MFC ActiveX コントロール ウィザードによってこれらの最適化の多くを実行できます。

MFC ActiveX コントロール ウィザードの OLE 最適化オプション

MFC ActiveX コントロール ウィザード コントロールの設定

動作

詳細情報

Activate when visible のチェック ボックス

Clear

アクティブ化をオフにするときに表示されるオプション

Windowless activation のチェック ボックス

[Select]

ウィンドウなしのアクティベーションの提供

Unclipped device context のチェック ボックス

[Select]

外されたデバイス コンテキストを使用する

Flicker-free activation のチェック ボックス

[Select]

ちらつき無料のアクティベーションの提供

Mouse pointer notifications when inactive のチェック ボックス

[Select]

アクティブでないとマウス対話の提供

Optimized drawing code のチェック ボックス

[Select]

最適化コントロールの描画

これらの最適化を実行するメンバー関数についての詳細については、 COleControlを参照してください。メンバー関数は ウィンドウなしの操作関数を処理するアクティブでないポインターのように使用して、示します。

詳細については、次のトピックを参照してください。

参照

概念

MFC ActiveX コントロール