【问题标题】:Creating ActiveX on PowerPoint using Visual Studio Tools for Office使用 Visual Studio Tools for Office 在 PowerPoint 上创建 ActiveX
【发布时间】:2014-06-09 18:39:14
【问题描述】:

我正在创建一个在Visual Studio Tools for Office 的帮助下创建的PowerPoint 2010 加载项。

此插件可帮助用户轻松创建图表并对其进行自定义。它还提供了右键单击或双击图表的自定义菜单。我尝试使用 PowerPoint 提供的 Application.WindowBeforeRightClickApplication.WindowBeforeDoubleClick 事件,但它们没有被触发(因为 Microsoft 自 PowerPoint 2007 以来未修复的错误)。

现在,为了显示我的自定义菜单,我正在考虑制作一个 ActiveX 控件并将其嵌入到我的 PowerPoint 幻灯片中。此控件将与鼠标交互,以处理 MouseOverMouseUpMouseDownWindowBeforeDoubleClickWindowBeforeRightClick 等事件。

我不确定这是否可能。如果是,那么如何使用 C# 在 VSTO 环境中为 PowerPoint 编写 ActiveX 控件?还有如何让它不可见并同时响应?

【问题讨论】:

  • 一般来说,PPT 幻灯片上的 ActiveX 控件只有在幻灯片视图中才处于活动状态,所以这对你来说可能不是初学者。
  • @SteveRindsberg,感谢您的回复。你能告诉我在演示/设计器视图中可以用什么其他方式来监听鼠标事件吗?
  • 除了捕获选择更改事件之外,据我所知没有,而且我认为这不会满足您的需求。
  • 这可以用鼠标钩完成吗?
  • 可能,但我不知道。

标签: c# vsto activex powerpoint


【解决方案1】:

是的,你可以勾住鼠标,有一些库可以让这变得简单。

我尝试过的一个是“MouseKeyboardActivityMonitor”——在网络上搜索它应该会提供一个链接。

它有一个“AppHook”而不是“GlobalHook”,因此您可以只听 PowerPoint 编辑器窗口。

【讨论】:

  • 能否将链接的重要内容放入答案本身?链接可能会失效。
猜你喜欢
  • 2010-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
相关资源
最近更新 更多