创建基于MFC的ActiveX控件时各选项的说明

Activates When Visible

不选择此项可以让容器有权选择使控件失效,为了保存资源或加快启动就会使控件失效。如果不选择此复选框,并且您的控件要处理 WM_MOUSEMOVE 或 WM_SETCURSOR 消息时,就应该选中Mouse Pointer Notifications When Inactive选项。如果想将控件的激活推迟到容器需要它时(例如,用户通过鼠标单击),则取消选中此功能。关闭此功能可优化控件,因为只有在需要该控件时才会招致创建窗口的开销。

Invisible At Runtime

当设置此选项时,该控件在设计模式下可见,但在用户模式下不可见。通常时间控件可以选中此选项。

Available In "Insert Object" Dialog

当选中该选项后,该控件还会被注册为OLE服务器,使它出现在 Microsoft Word、Microsoft Excel 和其他OLE容器中的Insert Object对话框中。但最好不要选择此项,除非你确认需要此功能。

Has An "About" Box

指定控件有标准的 Windows“关于”对话框,并显示版本号和版权信息。

Acts As A Simple Frame Control

给控件添加一个 ISimpleFrameSite 接口,并为控件设置 OLEMISC_SIMPLEFRAME 位,指定控件是其他控件的容器。

Windowless Acitivation

使控件成为无窗口控件。无窗口激活考虑了非矩形控件或透明控件,而且无窗口控件不需要窗口控件所需的系统开销。无窗口激活没有考虑未剪辑的设备上下文和无闪烁激活。

Unclipped Device Context

在控件头文件中重写 COleControl::GetControlFlags 以禁用 COleControl 的 IntersectClipRect 调用。选择“未剪辑的设备上下文”可使速度得到少许提高。如果选择“无窗口激活”,则此功能不可用。

Flicker-Free Activation

大多数ActiveX控件是在创建时激活的并永远处于活动状态。但是如果容器使活动的控件失效,容器就会重新绘制控件。并且不活动的控件如果变成活动的,它也要绘制自己。对于在活动和不活动状态下看上去都相同的控件,重新绘制就没必要了,否则会造成难看的闪烁。设置此选项后,noFlickerActivate 标志包含在 COleControl::GetControlFlags 返回的标志中。

Mouse Pointer Notifications When Inactive

允许容器通过MFC提供的 IPointerInactive 给不活动的控件提交 WM_SETCURSOR 和 WM_MOUSEMOVE 消息。选择此选项后,pointerInactive 标志包含在 COleControl::GetControlFlags 返回的标志集合中。

Optimized Drawing Code

当调用 IViewObjectEx::Draw 绘制无窗口控件时,要求控件不改变开始时设备描述表的状态。一些容器解除了控件的这种责任,控件可以通过减少GDI调用的次数来加速重绘操作。要在支持此特性的容器中利用此功能,应选中此项并在每次调用 OnDraw 时调用 COleControl::IsOptimizedDraw。如果 IsOptimizedDraw 返回非零值,就不需要清除设备描述表。

Loads Properties Asynchronously

允许重置任何以前的异步数据并开始新的控件异步属性加载。对于Web控件,建议采用 Active Template Library 来开发。

 

另外,Visual C++ 提供了一个ActiveX Control Test Container ,执行文件名为TStcon32.exe。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值