Share via


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

コントロールがクライアント四角形の外に描画しないことが確実な場合は、COleControl による IntersectClipRect の呼び出しを無効にすることで、わずかですが検出可能な速度向上を実現できます。 これを行うには、COleControl:: GetControlFlags によって返されるフラグ セットから clipPaintDC フラグを削除します。 次に例を示します。

DWORD CMyAxOptCtrl::GetControlFlags()
{
   DWORD dwFlags = COleControl::GetControlFlags();
dwFlags &= ~clipPaintDC;
return dwFlags;
}

このフラグを削除するコードは、MFC ActiveX コントロール ウィザードを使用してご自身のコントロールを作成するときに、[Control Settings]\(コントロールの設定\) ページで [Unclipped Device Context]\(クリッピングを行わないデバイス コンテキスト\) オプションを選択すると、自動的に生成されます。

ウィンドウなしのアクティベーションを使用している場合、この最適化は効果がありません。

関連項目

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