クリッピングを行わないデバイス コンテキストの使用
コントロールがクライアント四角形の外に描画しないことが確実な場合は、COleControl
による IntersectClipRect
の呼び出しを無効にすることで、わずかですが検出可能な速度向上を実現できます。 これを行うには、COleControl:: GetControlFlags によって返されるフラグ セットから clipPaintDC フラグを削除します。 次に例を示します。
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
dwFlags &= ~clipPaintDC;
return dwFlags;
}
このフラグを削除するコードは、MFC ActiveX コントロール ウィザードを使用してご自身のコントロールを作成するときに、[Control Settings]\(コントロールの設定\) ページで [Unclipped Device Context]\(クリッピングを行わないデバイス コンテキスト\) オプションを選択すると、自動的に生成されます。
ウィンドウなしのアクティベーションを使用している場合、この最適化は効果がありません。