wps版本:
2012、10、11在官网下载的WPS抢鲜版。
功能:在对话框中添加一按钮,点此按钮可打开一个加有文字和图片的wps文字。
问题:1)、wps本身的问题不能正确,打开后关闭时,出现wps文字崩溃。
2)、我安装的wps文字,只打一个带有一个 文档1 的wps文字,在文档中点击鼠标左键,每点击一次内存会增加4KB。
1、新建个对话框工程(没有选中向导第二步中的Atuomation),在C***Dlg中的OnInitDialog()方法添加如下:
BOOL C***Dlg::OnInitDialog()
{
AfxOleInit();
CDialog::OnInitDialog();
……
}
2、导入wps文字类:
1)、vc6 View子菜单下的ClassWizard,打开类向导对话框,点Add Class...下拉中的From a type library...中查找安装wps的路径。
2)、找到wpscore.dll,点击打开。中间的表中的方匀是wps提供的API可全部选中。点Ok。
3)、ClassVIew(类视图)中,显示所导入的API。
3、在对话框上添加一按钮,为此按钮添加如下命令响应。
_Application app;
app.CreateDispatch("WPS.APPLICATION");
app.SetVisible(TRUE);
Documents docs = app.GetDocuments();
docs.Add(COleVariant(_T("")),false,0,true);
Selection sel = app.GetSelection();
// 用typetext API给文档插入文字
sel.TypeText("Hello,world!");
// wps文档内文字换行
sel.TypeParagraph();
//插入另外一段文字
sel.TypeText("插入一张图片:");
//换行
sel.TypeParagraph();
COleVariant vTrue((short)TRUE),vFalse((short)FALSE);
COleVariant vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
//声明一个InlineShapes 对象 shapes,得到wps程序的InlineShapes API,代表文档、范围或所选内容中的所有内嵌形状集合。
InlineShapes shapes = sel.GetInlineShapes();
//用InlineShapes的下级API :AddPicture给文档内添加图片
shapes.AddPicture(_T("http://imgsrc.baidu.com/baike/pic/item/d68b65cb0a8cdc21bf09e62d.jpg"),&vFalse,&vTrue,&vOpt);
//释放不用的对象指针
sel.DetachDispatch();
docs.DetachDispatch();
app.DetachDispatch();