MFC ActiveX 控件:优化

本文说明您可以使用微调性能更佳的 ActiveX 控件的技术。

主题 关闭活动,如果可见选项提供鼠标交互,在不活动状态时 讨论创建之前不激活的窗口的控件。 主题 提供未激活的窗口 讨论都创建窗口的控件,即使其激活。

窗口具有 OLE 对象的两个主要的缺点:,当激活和这些添加一大开销到控件时进行实例化,并显示它们以防止对象透明或矩形。 通常,创建窗口需要 60 的控件的创建时间。 单个共享窗口 (通常容器的) 和某调度的代码同样,控件包含 Windows 服务,通常,不会对性能损失。 有窗口的主要对象是不必要的系统开销。

控件时,在某些容器时,这些优化不必须提高性能。 例如,在 1996 之前释放的容器不支持无窗口激活的,实现,因此此功能不会提供较早的容器的一个优点。 但是,的每个容器支持持久性,应使用,因而优化控件进行保持代码可能会提高其在所有容器的性能。 如果控件容器使用专用于特定类型,您可能希望搞清楚哪些优化由容器支持。 但是,通常,您应当尝试实现许多技术与对应于特定控件确保控件自身运行良好,以便在大多数容器可以。

您可以通过 MFC ActiveX 控件向导实现许多优化,在 控件设置 页。

MFC ActiveX 控件向导 OLE 优化选项

控制在 MFC ActiveX 控件向导的设置

操作

更多信息

Activate when visible 复选框

Clear

关闭“可见时激活”选项

无窗口激活 (S) 复选框

选择

提供无窗口激活

未剪辑的设备上下文 (U) 复选框

选择

使用未剪辑的设备上下文

无闪烁激活 (V) 复选框

选择

提供无闪烁激活

不活动时有鼠标指针通知

选择

不活动时提供鼠标交互

优化的绘图代码 (P) 复选框

选择

优化控件绘制

有关成员的详细信息函数实现这些优化,请参见 COleControl。 成员函数是使用列表,如 无窗口操作。处理函数指针的非活动状态

有关详细信息,请参阅:

请参见

概念

MFC ActiveX 控件