提供无闪烁激活

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

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

如果在使用 MFC ActiveX 控件向导创建控件时选择了控件设置页上的“无闪烁激活”选项,则会自动生成用于包含此标志的代码

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

另请参阅

MFC ActiveX 控件:优化