WEB开发网
开发学院操作系统Windows Vista 探秘Visual Studio 2010中的灾难恢复功能 阅读

探秘Visual Studio 2010中的灾难恢复功能

 2009-03-11 17:45:41 来源:WEB开发网   
核心提示: 实例:创建支持重启管理器的MFC应用程序下面我们以一个实际的例子,来看看如何在我们的MFC应用程序中添加对重启管理器的支持,探秘Visual Studio 2010中的灾难恢复功能(4),首先,启动Visual Studio 2010 CTP,//泡泡类,用于在视图中显示圆圈泡泡class

实例:创建支持重启管理器的MFC应用程序

下面我们以一个实际的例子,来看看如何在我们的MFC应用程序中添加对重启管理器的支持。

首先,启动Visual Studio 2010 CTP,创建一个单文档的应用程序RestartManagerDemo。按照我们前面的介绍,在“MFC应用程序向导”中选择“Support Restart Manager”和“Reopen previously open documents”选项,以支持应用程序的重新启动和文档的重新打开。

为了验证重启管理器重新打开文档的功能,我们在文档中添加一些数据,这些数据将在程序重新启动后自动被加载进来。

// 泡泡类,用于在视图中显示圆圈泡泡
class CBubble
{
public:
CBubble(CPoint cp, double fR)
{
m_nCenterPoint = cp;
m_fR = fR;
};
CBubble()
{};
// 圆心
CPoint m_nCenterPoint;
// 半径    
double m_fR;
};
 

class CRestartManagerDemoDoc : public CDocument
{
protected: // create from serialization only
CRestartManagerDemoDoc();
DECLARE_DYNCREATE(CRestartManagerDemoDoc)

// Attributes
public:
// 保存数据的数组
CArray m_Array;
// Operations
public:
CArray& GetBubbleArray()
{
return m_Array;
};
//…
};

然后,我们需要实现文档的序列化函数,使得我们的文档数据能够保存和重新加载:

// CRestartManagerDemoDoc serialization
 

void CRestartManagerDemoDoc::Serialize(CArchive& ar)
{
// 保存数据
if (ar.IsStoring())
{
// TODO: add storing code here
int nSize = m_Array.GetSize();
ar<for(int nIndex = 0; nIndex < nSize; ++nIndex )
{
CBubble tempBubble = m_Array.GetAt( nIndex );
ar<ar<}
}
else // 加载数据
{
// TODO: add loading code here
int nSize = 0;
ar>>nSize;
for(int nIndex = 0; nIndex < nSize; ++nIndex )
{
//CBubble tempBubble = m_Array.GetAt( nIndex );
CPoint tempPoint;
double tempR;
ar>>tempPoint;
ar>>tempR;
m_Array.Add( CBubble( tempPoint, tempR) );

}
}
}

上一页  1 2 3 4 5 6 7  下一页

Tags:探秘 Visual Studio

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接