转换图形出了问题:CComQIPtr<MSWord::InlineShape>inlineshape;
CComQIPtr<MSWord::Shape>singleshape;
.....
singleshape = inlineshape->ConvertToShape();
后面还要inlineshape->delete;
如果在文本框上进行加载图片,在转换图形的时候,弹出"该图形不能置于文本框",然后word就崩溃了.
我想在这里加一个判断,如果非文本框,就继续ConvertToShape;
如果是文本框,就抛出异常,
但是我不知道如何去获得当前光标所在的位置,是否在文本区.
CComQIPtr<MSWord::Shape>singleshape;
.....
singleshape = inlineshape->ConvertToShape();
后面还要inlineshape->delete;
如果在文本框上进行加载图片,在转换图形的时候,弹出"该图形不能置于文本框",然后word就崩溃了.
我想在这里加一个判断,如果非文本框,就继续ConvertToShape;
如果是文本框,就抛出异常,
但是我不知道如何去获得当前光标所在的位置,是否在文本区.
可以 POINT ps;
GetCursorPos(&ps);
这时ps.x 和ps.y存储的就是当前鼠标的坐标
比如文本区的坐标范围是{0,0,1000,500}
那么你可以if(ps.x>=0&&ps.x<=1000&&ps.y>=0&&ps.y<=500)
来判断鼠标是否在文本区内
谢谢huangyinvhai,可是我做的是OA,不太用这样的方法,需要VBA方面的属性或方法.
还需大侠多想想
当然,在你的控制不多的情况下。