当我正在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:服务包2)
Microsoft Word 2000(9.0.6926 SP-3)
我使用Delphi 7(版本8.1)创建了该应用程序。