0

我有一个 vb6 表单,我在上面放了一个 ocx 控件。在窗体上设置 NegotiateMenus 会显示 ocx 的控件(这是我想要的)。然后我将自己的控件添加到表单中。当该控件具有焦点时,来自 ocx 的菜单就会消失。

无论谁有焦点,如何始终保持 ocx 中的菜单显示?

4

1 回答 1

1

丹,我记得很多年前尝试做类似的事情,但无法实现。我最终做的是添加一个空的顶级菜单,其标题与 OCX 控件上的菜单相同,并始终禁用它。然后,当 OCX 获得焦点时,我将隐藏我禁用的菜单项,使其看起来好像单击 OCX 启用了菜单项。当菜单出现和消失时,它可以避免所有丑陋的跳跃(显然,一旦 OCX 失去焦点,我会再次显示禁用的菜单)。

如果您仍然希望启用菜单项,则必须在表单中完全复制它,并在 Ocx 处于活动状态时隐藏它的版本(您还必须连接所有自己的事件以复制 OCX 上可用的功能.

据我所知,没有更简单的方法可以做到这一点。

道歉不会更有帮助。

于 2008-12-18T13:07:30.580 回答