转换图形出了问题:CComQIPtr<MSWord::InlineShape>inlineshape;
CComQIPtr<MSWord::Shape>singleshape;
.....
singleshape = inlineshape->ConvertToShape();
后面还要inlineshape->delete;
如果在文本框上进行加载图片,在转换图形的时候,弹出"该图形不能置于文本框",然后word就崩溃了.
我想在这里加一个判断,如果非文本框,就继续ConvertToShape;
如果是文本框,就抛出异常,
但是我不知道如何去获得当前光标所在的位置,是否在文本区.

解决方案 »

  1.   

    为什么要指定是“女程序员”?呵呵
    可以 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)
    来判断鼠标是否在文本区内
      

  2.   

    我也不愿意指定是"女程序员"?但是这样写是让大家有个重视,能尽快给我答复.
    谢谢huangyinvhai,可是我做的是OA,不太用这样的方法,需要VBA方面的属性或方法.
    还需大侠多想想
      

  3.   

    有GetFocus方法或Focus属性吗?把你所有的Edit控制的实例加入一个列表,枚举它,看这个属性和方法的返回值。
    当然,在你的控制不多的情况下。