二次开发visio添加右键菜单响应事件错误

 

按照visio 2007SDK上添加event的方式添加了两个类EventSink和ShapeRightMouseAction用来实现右键功能,但运行DemoShapeRightMouseAction函数在applicationEventList.AddAdvise((short)Microsoft.Office.
Interop.Visio.VisEventCodes.visEvtApp +(short)Microsoft.Office.Interop.Visio.VisEventCodes.visEvtMarker, eventHandler, "", "");时出现错误,无法正常运行,经过查找相关资料终于解决此问题,把解决方案写出来,希望能帮助被同类问题困扰的朋友。

解决方法:

在EventSink类外面添加一行[System.Runtime.InteropServices.ComVisible(true)]。

错误原因:

自己设置的对象对Visio COM控件是非可视的,导致AddAdvise运行时COM抛出异常。

非常感谢Bill Morein's Weblog帮助我解决了困惑2天的问题。

http://blogs.msdn.com/b/wmorein/archive/2006/06/07/621011.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值