Share via


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

お使いのコントロールが非アクティブの状態とアクティブの状態で同じように描画される場合 (さらに、ウィンドウなしのアクティベーションが使用されていない場合)、非アクティブとアクティブの状態を切り替えるときに通常発生する、描画操作とそれに伴う視覚的なちらつきをなくすことができます。 これを行うには、COleControl::GetControlFlags によって返されるフラグ セット内に、noFlickerActivate フラグを含めます。 次に例を示します。

DWORD CMyAxOptCtrl::GetControlFlags()
{
   DWORD dwFlags = COleControl::GetControlFlags();
dwFlags |= noFlickerActivate;
return dwFlags;
}

このフラグを含めるコードは、MFC ActiveX コントロール ウィザードを使用してご自身のコントロールを作成するときに、[Control Settings]\(コントロールの設定\) ページで [Flicker-Free activation]\(ちらつきなしのアクティベーションの\) オプションを選択すると、自動的に生成されます。

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

関連項目

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