程序是一个优化玻璃切割的算法,输入原始毛坯规格、需要的成品规格,然后根据规格大小在word文档中画出解决方案。具体就是,假设需要一批800×500的成品,而原始毛坯是1200×800的,如何使得切割最优化。输出的结果是输出到word文档,在word文档中画出解决方案图。 Word::DocumentsPtr pDocs = pApp->Documents;
Word::_DocumentPtr pDoc; pDoc = pDocs->Add();
pDoc->SaveAs(FileName); Word::ShapesPtr pShapes = pDoc->GetShapes();
Word::ShapePtr pShape;         // 画一个矩形,代表原始毛坯
pShapes->AddShape((Office::MsoAutoShapeType)1,RectX,RectY,RectW,RectH); 
  
        // 下面是一个循环,在上面画一些小矩形,代表该原始毛坯可以切割成的成品
        // 坐标是逐渐递增。
        。
        。 ==================
问题就在于:我这样AddShape,如果画出的图是超过一个word页面的画,超出部分就不能显示了。我大体明白它的原因,因为word的坐标是也一个页面为规范的,也就是每一个页面都是从0到700多。所以,如果坐标大于最大值的话,超出部分就显示不了。我通过InsertBreak,插入新页,但是,如果控制AddShape的坐标移动到下一个页面那?

解决方案 »

  1.   

    首先谢谢楼上的啦!不过,不能这样做啊,客户的要求比较高的,不但需要显示图形,他还可以设置图形的大小,一定要清晰。太小了是不行的。我试过每画满一页了,就新开一个word文档,不过,客户不允许这样。真的好郁闷。不知谁知道应该怎么做?或者提供一个比较好的替换方案也好!
    急着用啊!
      

  2.   

    我觉得用Excel比Word好它基本上没有长宽限制
      

  3.   

    ACAD文件,是AutoCAD吗?
    不熟悉啊。
      

  4.   

    我是说,自己判断长度,分两次画在两个页面上。word不支持多页显示一幅图的。
      

  5.   

    回复人: pomelowu(羽战士) ( ) 信誉:186  2006-01-07 14:13:00  得分: 0  
     
     
       我是说,自己判断长度,分两次画在两个页面上。word不支持多页显示一幅图的。
      
     
    ===
    我不是指多页显示一幅图,而是说,我在画图的时候(多个图,就是说画完一个图 ,再换行画另外一个图),所有的图会超过1页,如何调整AddShapes的坐标使得可以在第二页又从头开始画。
      

  6.   

    UP it for the last time