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を参照してください。メンバー関数は ウィンドウなしの操作 と 関数を処理するアクティブでないポインターのように使用して、示します。
詳細については、次のトピックを参照してください。