关于Word Shape.AddOLEObject和AddOLEControl的讨论(60分奉上)

qianplaypn 2011-09-21 05:56:01
最近在用C#做一个word插件的开发,有个问题就是在word中插入ActiveX 控件的问题,这个控件打算用来显示图片,和显示

一些下拉菜单~~

现在有个问题就是用C++写好的控件(包括用word自带的image控件)用AddOLEControl方法插入到WORD已后,这个控件是不能

选择的,也就是说不能点着它移动了~但是右键的下拉菜单还是可以实现,这个就让我很纠结了.网上找了半天没看到相关的解决

办法 和头绪.

在就想到了用Shape.AddOLEObject这种办法加入控件,这个加入的好处就在用可以加入C#用regasm注册的和C++啊,自带的

image控件啊都可以加入,而且加进去的东西可以点击并移动.不好的地方就在于如果TAB切别的程序回来,拖动一下控件,就会

发现这个控件不听话了,右键菜单又是出WORD自带了,点击什么也不理你了~ 哎真是被闹的无语了.最后还是偏向用C++写

控件,然后用AddOLEControl加入~但不是设计模式不能点击,不能移动着实不知道怎么办了.

所在在这想请教原来有过这方面经验的前辈 指点一下~~至少能知道问题出在哪,有个头绪也好.小弟在此谢过~~~60分奉上
...全文
381 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlysundy1 2012-06-06
  • 打赏
  • 举报
回复
在word的移动事件的代码里要用到word的一些对象,具体是哪些对象自己在word上录制一个宏看看就知道了。
qianplaypn 2011-09-22
  • 打赏
  • 举报
回复
在补充一点吧~就是用AddOLEControl加入WINDOWS自带的控件 Forms.Image.1 也是不能实现拖动,所以

有个想法就是,是不是要给这个控件写点击拖动的事件~
qianplaypn 2011-09-22
  • 打赏
  • 举报
回复
给控件写移动事件是确定无疑了~~现在是怎么实现点击到以后最好能出个框,然后拉着走的效果~~

控件我是用C++写的MouseDown参数是(SHORT Button, SHORT Shift, OLE_XPOS_PIXELS x,

OLE_YPOS_PIXELS y); 另外一边用控件是用C#写的参数是(object sender, EventArgs e)

哎.两边互用起来越是别扭啊啊啊~~ 现在还暂没理清怎么实现拉着走的效果 ~感觉要在

mousemove里一直调用重绘函数啊 ,纠结ING~ 希望有经验的朋友指点指点~

另放上一个原来朋友写这方面的例子供大家参考

http://blog.csdn.net/dekko/article/details/1797903

110,501

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧