当前位置:编程学习 > C#/ASP.NET >>

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

     最近在用C#做一个word插件的开发,有个问题就是在word中插入ActiveX 控件的问题,这个控件打算用来显示图片,和显示

一些下拉菜单~~

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

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

办法 和头绪.

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

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

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

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

    所在在这想请教原来有过这方面经验的前辈 指点一下~~至少能知道问题出在哪,有个头绪也好.小弟在此谢过~~~60分奉上 --------------------编程问答--------------------     在补充一点吧~就是用AddOLEControl加入WINDOWS自带的控件 Forms.Image.1  也是不能实现拖动,所以

有个想法就是,是不是要给这个控件写点击拖动的事件~ --------------------编程问答--------------------     给控件写移动事件是确定无疑了~~现在是怎么实现点击到以后最好能出个框,然后拉着走的效果~~

控件我是用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 --------------------编程问答-------------------- 在word的移动事件的代码里要用到word的一些对象,具体是哪些对象自己在word上录制一个宏看看就知道了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,