次の方法で共有


クリッピングを行わないデバイス コンテキストの使用

更新 : 2007 年 11 月

コントロールがクライアント領域の外で描画を行わないことがわかっている場合は、COleControl による IntersectClipRect の呼び出しを無効にすると、多少の高速化を実現できます。この呼び出しを無効にするには、COleControl::GetControlFlags によって返される一連のフラグから clipPaintDC フラグを削除します。次に例を示します。

DWORD CMyAxOptCtrl::GetControlFlags()
{
   DWORD dwFlags = COleControl::GetControlFlags();


...


dwFlags &= ~clipPaintDC;


...


   return dwFlags;
}

このフラグを削除するコードを自動生成するには、MFC ActiveX コントロール ウィザードでコントロールを作成するときに、[コントロールの設定] ページの [クリッピングを行わないデバイス コンテキスト] オプションを選択します。

ウィンドウなしのアクティベーションを使用する場合は、この最適化処理は無効になります。

参照

概念

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