ちらつきなしのアクティベーションの提供
コントロールのアクティブな状態とアクティブでない状態の描画が同一であり、ウィンドウなしのアクティベーションを使用しない場合は、状態が切り替わるときに通常発生する描画処理とそれに伴うちらつきを除去できます。 この場合は、COleControl::GetControlFlags によって返される一連のフラグに noFlickerActivate フラグを含めます。 次に例を示します
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
...
dwFlags |= noFlickerActivate;
...
return dwFlags;
}
このフラグを含めるコードを自動生成するには、MFC ActiveX コントロール ウィザードでコントロールを作成するときに、[コントロールの設定] ページの [ちらつきなしでアクティブ化] オプションを選択します。
ウィンドウなしのアクティベーションを使用する場合は、この最適化処理は無効になります。