提供无闪烁激活

如果控件在非活动状态和活动状态下以同样的方法绘制自身(并且不使用无窗口激活),则可以消除在非活动状态和活动状态之间进行转换时通常会发生的绘制操作和伴随的视觉闪烁。 为此,请在 COleControl::GetControlFlags 返回的标志集中包括 noFlickerActivate 标志。 例如:

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

如果使用 MFC ActiveX 控件向导创建控件时,在“控件设置”页上选择 Flicker-Free 激活选项,则自动生成包含此标志的代码。

如果使用无窗口激活,则此优化不起作用。

另请参阅

MFC ActiveX 控件:优化