【发布时间】:2010-06-01 12:44:51
【问题描述】:
当我在 OleContainer(就地)中编辑 Word 文档并切换到另一个 Word 文档然后切换回来时,我无法再使用鼠标右键。上下文菜单不会显示。
这发生在 Word 2000 上,而不是 Word 2007(我不知道其他版本)。
我怎样才能摆脱这种行为?
如何重现:
- 创建一个新的 VCL 应用程序
- 添加菜单栏
- 添加一个 TOleContainer,对齐 alClient、AllowInPlace 和 AllowActiveDoc True。
- 使用 TOleContainer,插入 Word 97-2003 文档
- 向菜单栏添加一个“关闭”菜单项,在其事件处理程序中添加
OleContainer1.DestroyObject,这样您就可以停止编辑 - 运行此应用程序,双击 OleContainer 使其进入编辑模式
- 现在打开 Word 2000
- 切换回您的应用程序,上下文菜单将不再起作用。
编辑: 我在以下系统上重现了上述行为(使用 Citrix):
Windows Server 2003 企业版
5.2 版(内部版本 3790.srv03_sp2_rtm.070216-1710:Service Pack 2)
Microsoft Word 2000 (9.0.6926 SP-3)
我使用 Delphi 7 (build 8.1) 创建应用程序。
【问题讨论】:
-
您能说出您使用的是哪些版本和服务包级别(OS、Delphi、Word)吗?
-
此错误是否在 Citrix 之外发生?
-
@Judah Himango:我在 Citrix 之外没有可用于 Word 2000 的系统,所以很遗憾我无法回答您的问题。
-
好的。请记住,大约一两年前,我们在 Citrix 中看到了一些奇怪的焦点和窗口激活行为。您可能需要确认此错误是否发生在 Citrix 外部。
标签: delphi automation ms-word contextmenu ole