用VC向Word中插入图片的方法

VC++6.0向Word文件的指定位置上插入一张图片,需要用到nlineShapes类型的AddPicture方法。

在MSDN中,该方法的声明如下:

**************************************************************************

在文档中添加一幅图片。返回一个 Shape 对象,该对象代表图片,并将其添加至 InlineShapes 集合。

expression.AddPicture(FileName, LinkToFile, SaveWithDocument, Range) expression      必需。该表达式返回一个 InlineShapes 对象。

FileName     String 类型,必需。图片的路径和文件名。

LinkToFile     Variant 类型,可选。如果为 True,则将图片链接到创建该对象的文件;如果为 False,则将图片作为该文件的独立副本。默认值是 False。

SaveWithDocument     Variant 类型,可选。如果为 True,则将链接的图片与文档一起保存。默认值是 False。

Range     Variant 类型,可选。图片置于文本中的位置。如果该区域未折叠,那么图片将覆盖此区域,否则插入图片。如果忽略此参数,则自动放置图片

**************************************************************************

 

根据该说明的定义,第四个参数Range是用来设置图片位于文本中的位置的。因此,我们可以利用该参数向某一指定位置插入图片。具体方法如下:

 

Selection sel=m_app.GetSelection();//获取文档的selection InlineShapes inlineshapes = sel.GetInlineShapes(); inlineshapes.AddPicture(“D:\\cjdz.bmp”,COleVariant((short)FALSE),COleVariant((short)TRUE),&_variant_t(sel.GetRange()));//添加图片,并制定其位置为当前光标位置 inlineshapes.ReleaseDispatch(); sel.ReleaseDispatch();

注意上面第四个参数的转换方法,用到了_variant_t变量,使用此种方法可以将LPDISPATCH转换成VARIANT*类型

 

如此就可将图片直接插入到光标当前所在位置

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/halin1983/archive/2009/09/08/4533112.aspx

此条目发表在C++分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论