用以下代码在MFC的文档视图结构中,在VIEW 的 OnInitialUpdate()中调用下面的代码,
打开DOC文件时,总是弹出一个对话框,说文件处于琐定状态,只能以只读方式打开,这是什么原因?
BeginWaitCursor();
CEmbed_WordCntrItem* pItem = NULL;
TRY
{
CEmbed_WordDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pItem = new CEmbed_WordCntrItem(pDoc);
ASSERT_VALID(pItem);
CLSID clsid;
if (FAILED(::CLSIDFromProgID(L"Word.document", &clsid)))
AfxThrowMemoryException();
if (!pItem->CreateFromFile(m_sPath, clsid))
AfxThrowMemoryException();
pItem->DoVerb(OLEIVERB_SHOW, this);
m_pSelection = pItem;
pDoc->UpdateAllViews(NULL);
LPDISPATCH lpDisp;
lpDisp = pItem->GetIDispatch();
}
CATCH(CException, e)
{
if (pItem != NULL)
{
ASSERT_VALID(pItem);
pItem->Delete();
}
AfxMessageBox(IDP_FAILED_TO_CREATE);
}
END_CATCH
EndWaitCursor();
打开DOC文件时,总是弹出一个对话框,说文件处于琐定状态,只能以只读方式打开,这是什么原因?
BeginWaitCursor();
CEmbed_WordCntrItem* pItem = NULL;
TRY
{
CEmbed_WordDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pItem = new CEmbed_WordCntrItem(pDoc);
ASSERT_VALID(pItem);
CLSID clsid;
if (FAILED(::CLSIDFromProgID(L"Word.document", &clsid)))
AfxThrowMemoryException();
if (!pItem->CreateFromFile(m_sPath, clsid))
AfxThrowMemoryException();
pItem->DoVerb(OLEIVERB_SHOW, this);
m_pSelection = pItem;
pDoc->UpdateAllViews(NULL);
LPDISPATCH lpDisp;
lpDisp = pItem->GetIDispatch();
}
CATCH(CException, e)
{
if (pItem != NULL)
{
ASSERT_VALID(pItem);
pItem->Delete();
}
AfxMessageBox(IDP_FAILED_TO_CREATE);
}
END_CATCH
EndWaitCursor();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货