⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ekdoclist.cpp

📁 < MFC经典问答>>是微软类库经常遇到的问题
💻 CPP
字号:
// EkDocList.cpp : implementation file
//

#include "stdafx.h"

#include "EkDocList.h"

///////////////////////////////////////////////////////////
// CEkDocList implementation

CEkDocList::CEkDocList()
{
	CWinApp* pApp = AfxGetApp();
	ASSERT_VALID( pApp );

	// 1 - Iterate through the application's document
	// templates list
	POSITION posTemplate =
				   pApp->GetFirstDocTemplatePosition();
	while( posTemplate != NULL )
	{
		// 2 - For each document template object...
		CDocTemplate* pTemplate =
				pApp->GetNextDocTemplate( posTemplate );
		ASSERT_VALID( pTemplate );
		ASSERT_KINDOF( CDocTemplate, pTemplate );

		// 3 - Iterate through the template's document list
		POSITION posDocument =
				   pTemplate->GetFirstDocPosition();
		while( posDocument != NULL )
		{
			// 4 - For each document object...
			CDocument* pDoc =
					pTemplate->GetNextDoc( posDocument );
			ASSERT_VALID( pDoc );
			ASSERT_KINDOF( CDocument, pDoc );

			// 5 - Add the document pointer to our
			// internal list
			m_DocList.AddTail( pDoc );
		}
	}

	// 6 - Initialize our POSITION member
	m_posDocList = m_DocList.GetHeadPosition();
}

CEkDocList::~CEkDocList()
{
	m_DocList.RemoveAll();
	m_posDocList = NULL;
}

CDocument* CEkDocList::GetNextDoc()
{
	if( m_posDocList == NULL )
		return NULL;

	CDocument* pDoc = m_DocList.GetNext( m_posDocList );
	ASSERT_VALID( pDoc );
	ASSERT_KINDOF( CDocument, pDoc );

	return pDoc;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -