描述:
需要在程序里面使用ole方式嵌入word文档,我直接看msdn里面IOleObject、IPersistStorage、IOleClientSite等接口资料看的稀里糊涂的,我没有学习过com,有什么适合我这种水平的书或资料吗?
解决方案1:
COM编程精彩实例,这本书讲的都是例子,不过我也找不到这本书,看你能不能找到这本书!
解决方案2: 保存文件的样子.也可以流形式保存
LPDISPATCH lpDisp;
lpDisp=m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->GetIDispatch();
//lpDisp=m_pWebOfficeFrame->m_pWebOfficeView->lpDisp;
TCHAR szTempPath[MAX_PATH],szTempFile[MAX_PATH];
DWORD dwResult=::GetTempPath(MAX_PATH,szTempPath);
GetTempFileName(szTempPath,_T("DigitalTitan"),0,szTempFile);
CString strTempDocPath;
strTempDocPath=szTempFile;
USES_CONVERSION;
WCHAR* wcPathName=T2W(szTempFile);
IStorage* pStorage=NULL;
BOOL bSuccess=FALSE;
if(SUCCEEDED(StgCreateDocfile(wcPathName,STGM_READWRITE|STGM_SHARE_EXCLUSIVE|STGM_CREATE,0,&pStorage)))
{
IPersistStorage* pPersistStorage=NULL;
if(SUCCEEDED(lpDisp->QueryInterface(IID_IPersistStorage,(void**)&pPersistStorage)))
{
if(SUCCEEDED(OleSave(pPersistStorage,pStorage,FALSE)))
{
pPersistStorage->SaveCompleted(NULL);
}
pPersistStorage->Release();
}
pStorage->Release();
}
用MFC向导先建一个支持容器的工程看看.
一般情况用不着ATL.MFC的COleDocObject已经封装好了.