2

我有一个基于 WPF 的 ActiveX 控件(COM 互操作)。我可以通过注册控件来正确使用它。当我尝试 Reg-Free-COM(使用清单文件)时,控件似乎已激活,但事件(如鼠标单击、RequestBringIntoView 等)没有响应。有趣的是,双击和 Tab 键有效。

我在这篇文章http://blogs.msdn.com/karstenj/archive/2006/10/09/activex-wpf-gadget.aspx中读到“……这些好处是有代价的:ActiveX 控件必须是在注册表中注册,这需要某种安装,例如 .msi。默认的小工具安装过程无法安装 ActiveX。无法通过无注册 COM 访问 ActiveX 控件。..."

有没有人有类似的经历?谁能解释发生了什么?

其他详细信息:
当控件在注册后被激活时,它会显示为 COM 客户端 UI 的一部分。控件不接收焦点,它的元素接收它。

使用 reg-free-com 时,控件无法正确加载。1)控件接收焦点而不是其子元素 2)控件具有黑色区域而不是窗口默认颜色 3)当我在控件中进出或双击它时,它的子元素接收焦点,控件启动接收事件和黑色区域被正确的颜色替换

4

1 回答 1

2

我发现该控件处于非活动状态,因为在注册 COM 时设置的 miscStatus 属性需要激活它。我将就此发表一个单独的问题。

于 2010-05-17T16:39:23.093 回答